mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
drm/i915: Fix dbuf slice config lookup
commit698bef8ff5upstream. 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 commiteef1739544("drm/i915: Allow !join_mbus cases for adlp+ dbuf configuration") when things broke for real. Cc: stable@vger.kernel.org Fixes:05e8155afe("drm/i915: Use a sentinel to terminate the dbuf slice arrays") Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220207132700.481-1-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com> (cherry picked from commita28fde308c) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d006f2fe7d
commit
34f5556ddf
@@ -4861,7 +4861,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];
|
||||
|
||||
Reference in New Issue
Block a user