This is a note to let you know that I've just added the patch titled drm/nouveau/kms/tu102-: delay enabling cursor until after assign_windows to the 5.10-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-nouveau-kms-tu102-delay-enabling-cursor-until-after-assign_windows.patch and it can be found in the queue-5.10 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From f732e2e34aa08493fdd762f3daa4e5f16bbf1e45 Mon Sep 17 00:00:00 2001 From: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon, 6 Sep 2021 10:56:28 +1000 Subject: drm/nouveau/kms/tu102-: delay enabling cursor until after assign_windows From: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f732e2e34aa08493fdd762f3daa4e5f16bbf1e45 upstream. Prevent NVD core channel error code 67 occuring and hanging display, managed to reproduce on GA102 while testing suspend/resume scenarios. Required extension of earlier commit to fix interactions with EFI. Fixes: e78b1b545c6c ("drm/nouveau/kms/nv50: workaround EFI GOP window channel format differences") Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Lyude Paul <lyude@xxxxxxxxxx> Cc: Karol Herbst <kherbst@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v5.12+ Reviewed-by: Karol Herbst <kherbst@xxxxxxxxxx> Signed-off-by: Karol Herbst <kherbst@xxxxxxxxxx> Link: https://patchwork.freedesktop.org/patch/msgid/20210906005628.11499-2-skeggsb@xxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/nouveau/dispnv50/head.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/nouveau/dispnv50/head.c +++ b/drivers/gpu/drm/nouveau/dispnv50/head.c @@ -51,6 +51,7 @@ nv50_head_flush_clr(struct nv50_head *he void nv50_head_flush_set_wndw(struct nv50_head *head, struct nv50_head_atom *asyh) { + if (asyh->set.curs ) head->func->curs_set(head, asyh); if (asyh->set.olut ) { asyh->olut.offset = nv50_lut_load(&head->olut, asyh->olut.buffer, @@ -66,7 +67,6 @@ nv50_head_flush_set(struct nv50_head *he if (asyh->set.view ) head->func->view (head, asyh); if (asyh->set.mode ) head->func->mode (head, asyh); if (asyh->set.core ) head->func->core_set(head, asyh); - if (asyh->set.curs ) head->func->curs_set(head, asyh); if (asyh->set.base ) head->func->base (head, asyh); if (asyh->set.ovly ) head->func->ovly (head, asyh); if (asyh->set.dither ) head->func->dither (head, asyh); Patches currently in stable-queue which might be from bskeggs@xxxxxxxxxx are queue-5.10/drm-nouveau-kms-tu102-delay-enabling-cursor-until-after-assign_windows.patch