Petr Vorel
2025-Oct-07 15:04 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,
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