drm/i915/skl: use ranges for voltage level lookup
authorLucas De Marchi <lucas.demarchi@intel.com>
Mon, 10 Jun 2019 21:48:47 +0000 (14:48 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Tue, 11 Jun 2019 19:41:45 +0000 (12:41 -0700)
Like was done for ICL, let's convert the voltage level lookup to use
frequency ranges rather than individual frequencies. For deciding the
voltage, the individual value doesn't really matter.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190610214847.9865-1-lucas.demarchi@intel.com
drivers/gpu/drm/i915/intel_cdclk.c

index 80e22507cd34c6841408554482c0a391a5a047fa..8993ab283562b2dc8fa65ec54ad5a0c05353c010 100644 (file)
@@ -809,20 +809,14 @@ static int skl_calc_cdclk(int min_cdclk, int vco)
 
 static u8 skl_calc_voltage_level(int cdclk)
 {
-       switch (cdclk) {
-       default:
-       case 308571:
-       case 337500:
-               return 0;
-       case 450000:
-       case 432000:
-               return 1;
-       case 540000:
-               return 2;
-       case 617143:
-       case 675000:
+       if (cdclk > 540000)
                return 3;
-       }
+       else if (cdclk > 450000)
+               return 2;
+       else if (cdclk > 337500)
+               return 1;
+       else
+               return 0;
 }
 
 static void skl_dpll0_update(struct drm_i915_private *dev_priv,