Skip to content

Commit

Permalink
drm/nouveau/kms/nv50-: flush mst disables together
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
Ben Skeggs authored and Lyude Paul committed Sep 19, 2023
1 parent a5a7379 commit 625ead3
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 11 deletions.
11 changes: 1 addition & 10 deletions drivers/gpu/drm/nouveau/dispnv50/disp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
}

Expand Down Expand Up @@ -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;
}
Expand Down
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/dispnv50/disp.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ struct nv50_outp_atom {
struct list_head head;

struct drm_encoder *encoder;
bool flush_disable;

bool disabled;
bool enabled;
Expand Down

0 comments on commit 625ead3

Please sign in to comment.