Skip to content

Commit dd67cab

Browse files
author
Ben Skeggs
committed
drm/nouveau/kms/nv50-: clear SW state of disabled windows harder
The most innocuous result of not having done this is that we end up sending unnecessary methods when we next enable the window. However, interactions with the code handling skipping disables when an update immediately follows, and window ownership assignment, can lead to upsetting the display hardware on Volta and newer. Signed-off-by: Ben Skeggs <[email protected]>
1 parent 21454fe commit dd67cab

File tree

1 file changed

+4
-1
lines changed
  • drivers/gpu/drm/nouveau/dispnv50

1 file changed

+4
-1
lines changed

drivers/gpu/drm/nouveau/dispnv50/wndw.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ nv50_wndw_atomic_check_release(struct nv50_wndw *wndw,
192192
wndw->func->release(wndw, asyw, asyh);
193193
asyw->ntfy.handle = 0;
194194
asyw->sema.handle = 0;
195+
asyw->xlut.handle = 0;
196+
memset(asyw->image.handle, 0x00, sizeof(asyw->image.handle));
195197
}
196198

197199
static int
@@ -519,7 +521,8 @@ nv50_wndw_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state)
519521
return PTR_ERR(ctxdma);
520522
}
521523

522-
asyw->image.handle[0] = ctxdma->object.handle;
524+
if (asyw->visible)
525+
asyw->image.handle[0] = ctxdma->object.handle;
523526
}
524527

525528
asyw->state.fence = dma_resv_get_excl_rcu(nvbo->bo.base.resv);

0 commit comments

Comments
 (0)