drm/i915: Fix mbus join config lookup
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 7 Feb 2022 13:27:00 +0000 (15:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Feb 2022 11:03:09 +0000 (12:03 +0100)
commit 8d9d2a723d64b650f2e6423024ccb4a33f0cdc40 upstream.

The bogus loop from compute_dbuf_slices() was copied into
check_mbus_joined() as well. So this lookup is wrong as well.
Fix it.

Cc: stable@vger.kernel.org
Fixes: f4dc00863226 ("drm/i915/adl_p: MBUS programming")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220207132700.481-2-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit 053f2b85631316a9226f6340c1c0fd95634f7a5b)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/i915/intel_pm.c

index ad35e0649fb01fff17267c6a04a2586dbe0208f1..8937bc8985d6d1e565b235ecbe9ae5b358c7c112 100644 (file)
@@ -4844,7 +4844,7 @@ static bool check_mbus_joined(u8 active_pipes,
 {
        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)
                        return dbuf_slices[i].join_mbus;
        }