On Fri, Mar 22, 2024 at 01:40:45PM +0200, Stanislav Lisovskiy wrote: > We need to loop through all active pipes, not just the ones, that > are in current state, because disabling and enabling even a particular > pipe affects credits in another one. > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/display/skl_watermark.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c > index 2b947870527fc..7eb78e0c8c8e3 100644 > --- a/drivers/gpu/drm/i915/display/skl_watermark.c > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c > @@ -3696,10 +3696,8 @@ void intel_mbus_dbox_update(struct intel_atomic_state *state) > { > struct drm_i915_private *i915 = to_i915(state->base.dev); > const struct intel_dbuf_state *new_dbuf_state, *old_dbuf_state; > - const struct intel_crtc_state *new_crtc_state; > const struct intel_crtc *crtc; > u32 val = 0; > - int i; > > if (DISPLAY_VER(i915) < 11) > return; > @@ -3743,12 +3741,9 @@ void intel_mbus_dbox_update(struct intel_atomic_state *state) > val |= MBUS_DBOX_B_CREDIT(8); > } > > - for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i) { > + for_each_intel_crtc_in_pipe_mask(&i915->drm, crtc, new_dbuf_state->active_pipes) { > u32 pipe_val = val; > > - if (!new_crtc_state->hw.active) > - continue; > - > if (DISPLAY_VER(i915) >= 14) { > if (xelpdp_is_only_pipe_per_dbuf_bank(crtc->pipe, > new_dbuf_state->active_pipes)) > -- > 2.37.3 -- Ville Syrjälä Intel