Skip to content

Commit 0d6695b

Browse files
StanFox1984jnikula
authored andcommitted
drm/i915/adl_p: Same slices mask is not same Dbuf state
We currently treat same slice mask as a same DBuf state and skip updating the Dbuf slices, if we detect that. This is wrong as if we have a multi to single pipe change or vice versa, that would be treated as a same Dbuf state and thus no changes required, so we don't get Mbus updated, causing issues. Solution: check also mbus_join, in addition to slices mask. Cc: Ville Syrjälä <[email protected]> Reviewed-by: Uma Shankar <[email protected]> Signed-off-by: Stanislav Lisovskiy <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent d62686b commit 0d6695b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/gpu/drm/i915/intel_pm.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8093,7 +8093,8 @@ void intel_dbuf_pre_plane_update(struct intel_atomic_state *state)
80938093
intel_atomic_get_old_dbuf_state(state);
80948094

80958095
if (!new_dbuf_state ||
8096-
new_dbuf_state->enabled_slices == old_dbuf_state->enabled_slices)
8096+
((new_dbuf_state->enabled_slices == old_dbuf_state->enabled_slices)
8097+
&& (new_dbuf_state->joined_mbus == old_dbuf_state->joined_mbus)))
80978098
return;
80988099

80998100
WARN_ON(!new_dbuf_state->base.changed);
@@ -8113,7 +8114,8 @@ void intel_dbuf_post_plane_update(struct intel_atomic_state *state)
81138114
intel_atomic_get_old_dbuf_state(state);
81148115

81158116
if (!new_dbuf_state ||
8116-
new_dbuf_state->enabled_slices == old_dbuf_state->enabled_slices)
8117+
((new_dbuf_state->enabled_slices == old_dbuf_state->enabled_slices)
8118+
&& (new_dbuf_state->joined_mbus == old_dbuf_state->joined_mbus)))
81178119
return;
81188120

81198121
WARN_ON(!new_dbuf_state->base.changed);

0 commit comments

Comments
 (0)