During initialisation, we set different flags for different
architectures - these should be preserved when we reload the RPS
thresholds. If we use a mmio read, it will first ensure that the
threshold registers are written before we apply the latch in RP_CONTROL.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuopp...@linux.intel.com>
Cc: sta...@vger.kernel.org
---
 drivers/gpu/drm/i915/intel_pm.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 3041cd4988a6..d37e95b3525d 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4884,13 +4884,9 @@ static void gen6_set_rps_thresholds(struct 
drm_i915_private *dev_priv, u8 val)
                      GT_INTERVAL_FROM_US(dev_priv,
                                          ei_down * threshold_down / 100));
 
+       /* Restart RPS to reload the thresholds */
        I915_WRITE_FW(GEN6_RP_CONTROL,
-                     GEN6_RP_MEDIA_TURBO |
-                     GEN6_RP_MEDIA_HW_NORMAL_MODE |
-                     GEN6_RP_MEDIA_IS_GFX |
-                     GEN6_RP_ENABLE |
-                     GEN6_RP_UP_BUSY_AVG |
-                     GEN6_RP_DOWN_IDLE_AVG);
+                     I915_READ_FW(GEN6_RP_CONTROL) | GEN6_RP_ENABLE);
 
        intel_uncore_forcewake_put__locked(dev_priv, FORCEWAKE_ALL);
        spin_unlock_irq(&dev_priv->uncore.lock);
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to