drm/nouveau/kms/nv50-: keep output state around until modeset complete
- we'll want this info post-UPDATE for later patches 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-18-lyude@redhat.com
This commit is contained in:
parent
42db5692aa
commit
232856e896
@ -2080,7 +2080,7 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state)
|
||||
nv50_crc_atomic_init_notifier_contexts(state);
|
||||
|
||||
/* Update output path(s). */
|
||||
list_for_each_entry_safe(outp, outt, &atom->outp, head) {
|
||||
list_for_each_entry(outp, &atom->outp, head) {
|
||||
const struct drm_encoder_helper_funcs *help;
|
||||
struct drm_encoder *encoder;
|
||||
|
||||
@ -2094,9 +2094,6 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state)
|
||||
help->atomic_enable(encoder, state);
|
||||
interlock[NV50_DISP_INTERLOCK_CORE] = 1;
|
||||
}
|
||||
|
||||
list_del(&outp->head);
|
||||
kfree(outp);
|
||||
}
|
||||
|
||||
/* Update head(s). */
|
||||
@ -2194,6 +2191,11 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state)
|
||||
if (atom->lock_core)
|
||||
mutex_unlock(&disp->mutex);
|
||||
|
||||
list_for_each_entry_safe(outp, outt, &atom->outp, head) {
|
||||
list_del(&outp->head);
|
||||
kfree(outp);
|
||||
}
|
||||
|
||||
/* Wait for HW to signal completion. */
|
||||
for_each_new_plane_in_state(state, plane, new_plane_state, i) {
|
||||
struct nv50_wndw_atom *asyw = nv50_wndw_atom(new_plane_state);
|
||||
|
Loading…
x
Reference in New Issue
Block a user