* [PATCH] drm/nouveau: Skip the Turing CE workaround object for non-GR channels
@ 2026-10-07 14:30 Mary Guillemard
2026-10-08 21:50 ` lyude
2026-10-08 22:03 ` Daniel Almeida
0 siblings, 2 replies; 3+ messages in thread
From: Mary Guillemard @ 2026-10-07 14:30 UTC (permalink / raw)
To: Lyude Paul, Danilo Krummrich, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, nouveau, linux-kernel, Mary Guillemard
This workaround is here for the old Gallium driver and predate async CE
and NVDEC. Instead of only skipping it for NVDEC, let's only apply it
in case of GR channels.
This should make async CE work properly on Turing by stopping the assign
of a GRCE. (here CE0)
Signed-off-by: Mary Guillemard <mary@mary.zone>
---
drivers/gpu/drm/nouveau/nouveau_abi16.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index e907c1d07887..e876f154963d 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -488,7 +488,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)
goto done;
break;
case NV_DEVICE_INFO_V0_TURING:
- if (engine != NV_DEVICE_HOST_RUNLIST_ENGINES_NVDEC) {
+ if (engine == NV_DEVICE_HOST_RUNLIST_ENGINES_GR) {
ret = nvif_object_ctor(&chan->chan->user, "abi16CeWar",
0, TURING_DMA_COPY_A, NULL, 0,
&chan->ce);
---
base-commit: 70456f05d4b6396b22048c4b8cd3cb98ecf9f9e3
change-id: 20261007-turing-async-ce-fix-42e179e27d4a
Best regards,
--
Mary Guillemard <mary@mary.zone>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/nouveau: Skip the Turing CE workaround object for non-GR channels
2026-10-07 14:30 [PATCH] drm/nouveau: Skip the Turing CE workaround object for non-GR channels Mary Guillemard
@ 2026-10-08 21:50 ` lyude
2026-10-08 22:03 ` Daniel Almeida
1 sibling, 0 replies; 3+ messages in thread
From: lyude @ 2026-10-08 21:50 UTC (permalink / raw)
To: Mary Guillemard, Danilo Krummrich, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, nouveau, linux-kernel
Reviewed-by: Lyude Paul <lyude@redhat.com>
Will push to drm-misc-fixes in just a moment
On Wed, 2026-10-07 at 16:30 +0200, Mary Guillemard wrote:
> This workaround is here for the old Gallium driver and predate async
> CE
> and NVDEC. Instead of only skipping it for NVDEC, let's only apply
> it
> in case of GR channels.
>
> This should make async CE work properly on Turing by stopping the
> assign
> of a GRCE. (here CE0)
>
> Signed-off-by: Mary Guillemard <mary@mary.zone>
> ---
> drivers/gpu/drm/nouveau/nouveau_abi16.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c
> b/drivers/gpu/drm/nouveau/nouveau_abi16.c
> index e907c1d07887..e876f154963d 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
> @@ -488,7 +488,7 @@
> nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)
> goto done;
> break;
> case NV_DEVICE_INFO_V0_TURING:
> - if (engine != NV_DEVICE_HOST_RUNLIST_ENGINES_NVDEC)
> {
> + if (engine == NV_DEVICE_HOST_RUNLIST_ENGINES_GR) {
> ret = nvif_object_ctor(&chan->chan->user,
> "abi16CeWar",
> 0, TURING_DMA_COPY_A,
> NULL, 0,
> &chan->ce);
>
> ---
> base-commit: 70456f05d4b6396b22048c4b8cd3cb98ecf9f9e3
> change-id: 20261007-turing-async-ce-fix-42e179e27d4a
>
> Best regards,
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/nouveau: Skip the Turing CE workaround object for non-GR channels
2026-10-07 14:30 [PATCH] drm/nouveau: Skip the Turing CE workaround object for non-GR channels Mary Guillemard
2026-10-08 21:50 ` lyude
@ 2026-10-08 22:03 ` Daniel Almeida
1 sibling, 0 replies; 3+ messages in thread
From: Daniel Almeida @ 2026-10-08 22:03 UTC (permalink / raw)
To: Mary Guillemard
Cc: Lyude Paul, Danilo Krummrich, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, dri-devel,
nouveau, linux-kernel, Mary Guillemard
> On 7 Oct 2026, at 11:36, Mary Guillemard <mary@mary.zone> wrote:
>
> This workaround is here for the old Gallium driver and predate async CE
> and NVDEC. Instead of only skipping it for NVDEC, let's only apply it
> in case of GR channels.
>
> This should make async CE work properly on Turing by stopping the assign
> of a GRCE. (here CE0)
>
> Signed-off-by: Mary Guillemard <mary@mary.zone>
> ---
> drivers/gpu/drm/nouveau/nouveau_abi16.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c
> index e907c1d07887..e876f154963d 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
> @@ -488,7 +488,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)
> goto done;
> break;
> case NV_DEVICE_INFO_V0_TURING:
> - if (engine != NV_DEVICE_HOST_RUNLIST_ENGINES_NVDEC) {
> + if (engine == NV_DEVICE_HOST_RUNLIST_ENGINES_GR) {
> ret = nvif_object_ctor(&chan->chan->user, "abi16CeWar",
> 0, TURING_DMA_COPY_A, NULL, 0,
> &chan->ce);
>
> ---
> base-commit: 70456f05d4b6396b22048c4b8cd3cb98ecf9f9e3
> change-id: 20261007-turing-async-ce-fix-42e179e27d4a
>
> Best regards,
> --
> Mary Guillemard <mary@mary.zone>
>
Sorry, it didn’t occur to me to do this instead of the NVDEC only fix.
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-08 22:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-07 14:30 [PATCH] drm/nouveau: Skip the Turing CE workaround object for non-GR channels Mary Guillemard
2026-10-08 21:50 ` lyude
2026-10-08 22:03 ` Daniel Almeida
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®