On Mon, Sep 6, 2021 at 2:56 AM Ben Skeggs <skeggsb@xxxxxxxxx> wrote: > > From: Ben Skeggs <bskeggs@xxxxxxxxxx> > > 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. > Reviewed-by: Karol Herbst <kherbst@xxxxxxxxxx> > 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+ > --- > drivers/gpu/drm/nouveau/dispnv50/head.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/dispnv50/head.c b/drivers/gpu/drm/nouveau/dispnv50/head.c > index f8438a886b64..c3c57be54e1c 100644 > --- a/drivers/gpu/drm/nouveau/dispnv50/head.c > +++ b/drivers/gpu/drm/nouveau/dispnv50/head.c > @@ -52,6 +52,7 @@ nv50_head_flush_clr(struct nv50_head *head, > 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, > @@ -67,7 +68,6 @@ nv50_head_flush_set(struct nv50_head *head, struct nv50_head_atom *asyh) > 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); > -- > 2.31.1 >