All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177
@ 2025-10-07 15:03 Petr Vorel
  0 siblings, 0 replies; 4+ messages in thread
From: Petr Vorel @ 2025-10-07 15:03 UTC (permalink / raw)
  To: nouveau
  Cc: Petr Vorel, Thomas Zimmermann, Takashi Iwai, Mohamed Ahmed,
	Danilo Krummrich, Dave Airlie, Faith Ekstrand

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@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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177
@ 2025-10-07 15:24 Petr Vorel
  2025-10-07 15:50 ` Faith Ekstrand
  0 siblings, 1 reply; 4+ messages in thread
From: Petr Vorel @ 2025-10-07 15:24 UTC (permalink / raw)
  To: nouveau
  Cc: Petr Vorel, Thomas Zimmermann, Takashi Iwai, Mohamed Ahmed,
	Danilo Krummrich, Dave Airlie, Faith Ekstrand

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@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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177
  2025-10-07 15:24 [RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177 Petr Vorel
@ 2025-10-07 15:50 ` Faith Ekstrand
  2025-10-07 18:38   ` Petr Vorel
  0 siblings, 1 reply; 4+ messages in thread
From: Faith Ekstrand @ 2025-10-07 15:50 UTC (permalink / raw)
  To: Petr Vorel
  Cc: nouveau, Thomas Zimmermann, Takashi Iwai, Mohamed Ahmed,
	Danilo Krummrich, Dave Airlie, Faith Ekstrand

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@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@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
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177
  2025-10-07 15:50 ` Faith Ekstrand
@ 2025-10-07 18:38   ` Petr Vorel
  0 siblings, 0 replies; 4+ messages in thread
From: Petr Vorel @ 2025-10-07 18:38 UTC (permalink / raw)
  To: Faith Ekstrand
  Cc: nouveau, Thomas Zimmermann, Takashi Iwai, Mohamed Ahmed,
	Danilo Krummrich, Dave Airlie, Faith Ekstrand, Michael Vetter

Hi Faith, all,

> 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.

I have reported it a week ago [1], I have also reported it previously to the
commit [2]. I'll be glad to do any testing.

Agree that the problem is not related to GA107 but the fact it's in dock. Maybe
not that many people use Thinkpad P16 with nouveau, because it was broken since
v6.10 (more than a year).

Kind regards,
Petr

[1] https://gitlab.freedesktop.org/mesa/mesa/-/issues/13974
[2] https://lore.kernel.org/nouveau/20240509204352.7597-1-mohamedahmedegypt2001@gmail.com/

> ~Faith

> On Tue, Oct 7, 2025 at 11:24 AM Petr Vorel <pvorel@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@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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-12-13 12:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-07 15:24 [RFC PATCH 1/1] Avoid NOUVEAU_GETPARAM_HAS_VMA_TILEMODE on nv177 Petr Vorel
2025-10-07 15:50 ` Faith Ekstrand
2025-10-07 18:38   ` Petr Vorel
  -- strict thread matches above, loose matches on Subject: below --
2025-10-07 15:03 Petr Vorel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.