On Fri, Mar 29, 2024 at 03:15:02PM -0300, Gustavo Sousa wrote: > Quoting Ville Syrjala (2024-03-27 14:45:42-03:00) > >@@ -3663,24 +3659,42 @@ static void intel_dbuf_mdclk_min_tracker_update(struct intel_atomic_state *state > > intel_atomic_get_old_dbuf_state(state); > > const struct intel_dbuf_state *new_dbuf_state = > > intel_atomic_get_new_dbuf_state(state); > >+ int mdclk_cdclk_ratio; > > > >- if (DISPLAY_VER(i915) >= 20 && > >- old_dbuf_state->mdclk_cdclk_ratio != new_dbuf_state->mdclk_cdclk_ratio) { > >- /* > >- * For Xe2LPD and beyond, when there is a change in the ratio > >- * between MDCLK and CDCLK, updates to related registers need to > >- * happen at a specific point in the CDCLK change sequence. In > >- * that case, we defer to the call to > >- * intel_dbuf_mdclk_cdclk_ratio_update() to the CDCLK logic. > >- */ > >- return; > >+ if (intel_cdclk_is_decreasing_later(state)) { > >+ /* cdclk/mdclk will be changed later by intel_set_cdclk_post_plane_update() */ > >+ mdclk_cdclk_ratio = old_dbuf_state->mdclk_cdclk_ratio; > >+ } else { > >+ /* cdclk/mdclk already changed by intel_set_cdclk_pre_plane_update() */ > >+ mdclk_cdclk_ratio = new_dbuf_state->mdclk_cdclk_ratio; > > } > > > >- intel_dbuf_mdclk_cdclk_ratio_update(i915, new_dbuf_state->mdclk_cdclk_ratio, > >+ intel_dbuf_mdclk_cdclk_ratio_update(i915, mdclk_cdclk_ratio, > > new_dbuf_state->joined_mbus); > > I get the feeling that this part actually belongs to the previous patch. Hmm, right. In fact I think it can just be its own patch. I'll carve it out. -- Ville Syrjälä Intel