Re: [PATCH] drm/nouveau: Skip the Turing CE workaround object for non-GR channels

From: lyude

Date: Thu Oct 08 2026 - 17:50:31 EST


Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx>

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