OSDN Git Service

drm/i915: Unconfuse pre-icl vs. icl+ intel_sagv_{pre,post}_plane_update()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 14 Feb 2022 09:18:09 +0000 (11:18 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 16 Feb 2022 13:05:36 +0000 (15:05 +0200)
intel_sagv_{pre,post}_plane_update() can accidentally forget
to bail out early on pre-icl and proceed down the icl+ codepath
at the end of the function. Fortunately it'll bail out before
it gets too far due to old_qgv_mask==new_qgv_mask==0 so no real
bug here. But lets make the code less confusing anyway.

Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220214091811.13725-5-ville.syrjala@linux.intel.com
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
drivers/gpu/drm/i915/intel_pm.c

index 191bb39..9f5e3c3 100644 (file)
@@ -3802,8 +3802,9 @@ void intel_sagv_pre_plane_update(struct intel_atomic_state *state)
        if (!new_bw_state)
                return;
 
-       if (DISPLAY_VER(dev_priv) < 11 && !intel_can_enable_sagv(dev_priv, new_bw_state)) {
-               intel_disable_sagv(dev_priv);
+       if (DISPLAY_VER(dev_priv) < 11) {
+               if (!intel_can_enable_sagv(dev_priv, new_bw_state))
+                       intel_disable_sagv(dev_priv);
                return;
        }
 
@@ -3853,8 +3854,9 @@ void intel_sagv_post_plane_update(struct intel_atomic_state *state)
        if (!new_bw_state)
                return;
 
-       if (DISPLAY_VER(dev_priv) < 11 && intel_can_enable_sagv(dev_priv, new_bw_state)) {
-               intel_enable_sagv(dev_priv);
+       if (DISPLAY_VER(dev_priv) < 11) {
+               if (intel_can_enable_sagv(dev_priv, new_bw_state))
+                       intel_enable_sagv(dev_priv);
                return;
        }