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
This commit is contained in:
parent
a5a7379f6d
commit
625ead3d39
@ -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;
|
||||
}
|
||||
|
@ -83,7 +83,6 @@ struct nv50_outp_atom {
|
||||
struct list_head head;
|
||||
|
||||
struct drm_encoder *encoder;
|
||||
bool flush_disable;
|
||||
|
||||
bool disabled;
|
||||
bool enabled;
|
||||
|
Loading…
x
Reference in New Issue
Block a user