Commit 698bef8f authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Tvrtko Ursulin
Browse files

drm/i915: Fix dbuf slice config lookup



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.

Note that the code actually ended up working correctly despite
the fumble, up until commit eef17395 ("drm/i915: Allow
!join_mbus cases for adlp+ dbuf configuration") when things
broke for real.

Cc: stable@vger.kernel.org
Fixes: 05e8155a ("drm/i915: Use a sentinel to terminate the dbuf slice arrays")
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220207132700.481-1-ville.syrjala@linux.intel.com


Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
(cherry picked from commit a28fde30)
Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
parent aa4d01a4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4870,7 +4870,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++) {
		if (dbuf_slices[i].active_pipes == active_pipes &&
		    dbuf_slices[i].join_mbus == join_mbus)
			return dbuf_slices[i].dbuf_mask[pipe];