From: Stanislav Lisovskiy <[email protected]>

In order to make sure we are not breaking the proper sequence
let's do updates step by step and don't change MBUS join value
during MDCLK/CDCLK programming stage.
MBUS join programming would be taken care by pre/post ddb hooks.

v2: - Reworded comment about using old mbus_join value in
      intel_set_cdclk(Ville Syrjälä)

Reviewed-by: Uma Shankar <[email protected]>
Signed-off-by: Stanislav Lisovskiy <[email protected]>
[v3: vsyrjala: rebase on top of cdclk changes, reword a bit more]
Signed-off-by: Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_cdclk.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c 
b/drivers/gpu/drm/i915/display/intel_cdclk.c
index ed8d9ee094b8..e0c69d85e733 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2617,6 +2617,12 @@ intel_set_cdclk_pre_plane_update(struct 
intel_atomic_state *state)
                                                 
old_cdclk_state->actual.voltage_level);
        }
 
+       /*
+        * mbus joining will be changed later by
+        * intel_dbuf_mbus_{pre,post}_ddb_update()
+        */
+       cdclk_config.joined_mbus = old_cdclk_state->actual.joined_mbus;
+
        drm_WARN_ON(&i915->drm, !new_cdclk_state->base.changed);
 
        intel_set_cdclk(i915, &cdclk_config, pipe,
-- 
2.43.2

Reply via email to