Petr Vorel
2025-Oct-07 15:24 UTC
[RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177
959314c438ca broke behavior at least on GA107GLM RTX A1000 on Thinkpad
P16, which has GPU in dock. unplugging dock freezes GUI on KDE5 Plasma,
plugging dock freezes GUI on GNOME.
As a workaround avoid setting value on NOUVEAU_GETPARAM_HAS_VMA_TILEMODE
for nv177.
Signed-off-by: Petr Vorel <pvorel at suse.cz>
---
Hi all,
[ I'm sorry to repost due previously not being subscribed to the list ]
obviously this is not a solution (that's why RFC and I don't set Fixes:
959314c438ca), but it documents that hardware is unusable with 959314c438ca.
FYI we are going to not set getparam->value for
NOUVEAU_GETPARAM_HAS_VMA_TILEMODE for any GPU on openSUSE Tumbleweed.
https://bugzilla.suse.com/show_bug.cgi?id=1198108
Kind regards,
Petr
drivers/gpu/drm/nouveau/nouveau_abi16.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c
b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index a3ba07fc48a08..fefaf7287723c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -323,7 +323,12 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS)
break;
}
case NOUVEAU_GETPARAM_HAS_VMA_TILEMODE:
- getparam->value = 1;
+ if (drm->client.device.info.chipset != 0x177) {
+ getparam->value = 1;
+ } else {
+ NV_PRINTK(dbg, cli, "Ignoring NOUVEAU_GETPARAM_HAS_VMA_TILEMODE for
0x%x\n",
+ drm->client.device.info.chipset);
+ }
break;
default:
NV_PRINTK(dbg, cli, "unknown parameter %lld\n",
getparam->param);
--
2.51.0
Faith Ekstrand
2025-Oct-07 15:50 UTC
[RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177
This likely has nothing to do with GA107 and everything to do with the fact that the GPU is in the dock. Also, this by itself doesn't fix a kernel bug. It disables DRM format modifiers in Mesa and that's likely having knock-on effects with compositors and GPUs vanishing. Please file a Mesa issue. We should sort it out in userspace. ~Faith On Tue, Oct 7, 2025 at 11:24?AM Petr Vorel <pvorel at suse.cz> wrote:> > 959314c438ca broke behavior at least on GA107GLM RTX A1000 on Thinkpad > P16, which has GPU in dock. unplugging dock freezes GUI on KDE5 Plasma, > plugging dock freezes GUI on GNOME. > > As a workaround avoid setting value on NOUVEAU_GETPARAM_HAS_VMA_TILEMODE > for nv177. > > Signed-off-by: Petr Vorel <pvorel at suse.cz> > --- > Hi all, > > [ I'm sorry to repost due previously not being subscribed to the list ] > > obviously this is not a solution (that's why RFC and I don't set Fixes: > 959314c438ca), but it documents that hardware is unusable with 959314c438ca. > > FYI we are going to not set getparam->value for > NOUVEAU_GETPARAM_HAS_VMA_TILEMODE for any GPU on openSUSE Tumbleweed. > https://bugzilla.suse.com/show_bug.cgi?id=1198108 > > Kind regards, > Petr > > drivers/gpu/drm/nouveau/nouveau_abi16.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c > index a3ba07fc48a08..fefaf7287723c 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_abi16.c > +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c > @@ -323,7 +323,12 @@ nouveau_abi16_ioctl_getparam(ABI16_IOCTL_ARGS) > break; > } > case NOUVEAU_GETPARAM_HAS_VMA_TILEMODE: > - getparam->value = 1; > + if (drm->client.device.info.chipset != 0x177) { > + getparam->value = 1; > + } else { > + NV_PRINTK(dbg, cli, "Ignoring NOUVEAU_GETPARAM_HAS_VMA_TILEMODE for 0x%x\n", > + drm->client.device.info.chipset); > + } > break; > default: > NV_PRINTK(dbg, cli, "unknown parameter %lld\n", getparam->param); > -- > 2.51.0 >