diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2023-09-20 00:56:25 +0300 |
---|---|---|
committer | Lyude Paul <lyude@redhat.com> | 2023-09-20 01:22:17 +0300 |
commit | 625ead3d39d7021b3e9a2d0662b8bd0c3b5a7ac2 (patch) | |
tree | 552678d4722d57e1149b59c7f8a060bcc2c2714d /drivers/gpu/drm/nouveau | |
parent | a5a7379f6d9d83964b3d2e1fe0dd0ad45ee55408 (diff) | |
download | linux-625ead3d39d7021b3e9a2d0662b8bd0c3b5a7ac2.tar.xz |
drm/nouveau/kms/nv50-: flush mst disables together
- fixes some issues tearing down modes on tiled displays
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Acked-by: Danilo Krummrich <me@dakr.org>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230919220442.202488-31-lyude@redhat.com
Diffstat (limited to 'drivers/gpu/drm/nouveau')
-rw-r--r-- | drivers/gpu/drm/nouveau/dispnv50/disp.c | 11 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/dispnv50/disp.h | 1 |
2 files changed, 1 insertions, 11 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c index 48e099ed7d51..1fcd1b36a275 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c @@ -2084,13 +2084,6 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state) help->atomic_disable(encoder, state); outp->disabled = true; interlock[NV50_DISP_INTERLOCK_CORE] |= 1; - if (outp->flush_disable) { - nv50_disp_atomic_commit_wndw(state, interlock); - nv50_disp_atomic_commit_core(state, interlock); - memset(interlock, 0x00, sizeof(interlock)); - - flushed = true; - } } } @@ -2376,10 +2369,8 @@ nv50_disp_outp_atomic_check_clr(struct nv50_atom *atom, return PTR_ERR(outp); if (outp->encoder->encoder_type == DRM_MODE_ENCODER_DPMST || - nouveau_encoder(outp->encoder)->dcb->type == DCB_OUTPUT_DP) { - outp->flush_disable = true; + nouveau_encoder(outp->encoder)->dcb->type == DCB_OUTPUT_DP) atom->flush_disable = true; - } outp->clr.ctrl = true; atom->lock_core = true; } diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.h b/drivers/gpu/drm/nouveau/dispnv50/disp.h index 42209f5b06f9..1e5601223c75 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/disp.h +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.h @@ -83,7 +83,6 @@ struct nv50_outp_atom { struct list_head head; struct drm_encoder *encoder; - bool flush_disable; bool disabled; bool enabled; |