Skip to content

Commit

Permalink
drm/nouveau/kms/nv50-: clear SW state of disabled windows harder
Browse files Browse the repository at this point in the history
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 <bskeggs@redhat.com>
  • Loading branch information
Ben Skeggs committed Jun 4, 2020
1 parent 21454fe commit dd67cab
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/gpu/drm/nouveau/dispnv50/wndw.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,8 @@ nv50_wndw_atomic_check_release(struct nv50_wndw *wndw,
wndw->func->release(wndw, asyw, asyh);
asyw->ntfy.handle = 0;
asyw->sema.handle = 0;
asyw->xlut.handle = 0;
memset(asyw->image.handle, 0x00, sizeof(asyw->image.handle));
}

static int
Expand Down Expand Up @@ -519,7 +521,8 @@ nv50_wndw_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state)
return PTR_ERR(ctxdma);
}

asyw->image.handle[0] = ctxdma->object.handle;
if (asyw->visible)
asyw->image.handle[0] = ctxdma->object.handle;
}

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

0 comments on commit dd67cab

Please sign in to comment.