On Mon, Feb 07, 2022 at 03:26:59PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Apparently I totally fumbled the loop condition when I > removed the ARRAY_SIZE() stuff from the dbuf slice config > lookup. Comparing the loop index with the active_pipes bitmask > is utter nonsense, what we want to do is check to see if the > mask is zero or not. > > Cc: stable@xxxxxxxxxxxxxxx > Fixes: 05e8155afe35 ("drm/i915: Use a sentinel to terminate the dbuf slice arrays") > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_pm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 02084652fe3d..da721aea70ff 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -4848,7 +4848,7 @@ static u8 compute_dbuf_slices(enum pipe pipe, u8 active_pipes, bool join_mbus, > { > int i; > > - for (i = 0; i < dbuf_slices[i].active_pipes; i++) { > + for (i = 0; dbuf_slices[i].active_pipes != 0; i++) { Actually looks like the tables just happened to be ordered the right way that the code never did the wrong thing until commit eef173954432 ("drm/i915: Allow !join_mbus cases for adlp+ dbuf configuration"). So this just needs backporting alongside that commit (which I flagged for 5.14+), but no crucial need to backport further than that. -- Ville Syrjälä Intel