From: Ville Syrjälä <ville.syrj...@linux.intel.com>

We only compute bw_state->data_rate and bw_state->num_active_planes
on icl+. Do the same during readout so that we don't leave random
junk inside the state.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_bw.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c 
b/drivers/gpu/drm/i915/display/intel_bw.c
index 30e6f33d6f30..2a669b8535e0 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -809,13 +809,16 @@ static int intel_bw_crtc_min_cdclk(const struct 
intel_crtc_state *crtc_state)
 static void intel_bw_crtc_update(struct intel_bw_state *bw_state,
                                 const struct intel_crtc_state *crtc_state)
 {
+       struct intel_display *display = to_intel_display(crtc_state);
        struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
        struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 
-       bw_state->data_rate[crtc->pipe] =
-               intel_bw_crtc_data_rate(crtc_state);
-       bw_state->num_active_planes[crtc->pipe] =
-               intel_bw_crtc_num_active_planes(crtc_state);
+       if (DISPLAY_VER(display) >= 11) {
+               bw_state->data_rate[crtc->pipe] =
+                       intel_bw_crtc_data_rate(crtc_state);
+               bw_state->num_active_planes[crtc->pipe] =
+                       intel_bw_crtc_num_active_planes(crtc_state);
+       }
        bw_state->force_check_qgv = true;
 
        drm_dbg_kms(&i915->drm, "pipe %c data rate %u num active planes %u\n",
-- 
2.45.3

Reply via email to