drm/i915/cnl: use ranges for voltage level lookup
authorLucas De Marchi <lucas.demarchi@intel.com>
Mon, 10 Jun 2019 21:48:34 +0000 (14:48 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Tue, 11 Jun 2019 19:41:41 +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/20190610214834.9789-1-lucas.demarchi@intel.com
drivers/gpu/drm/i915/intel_cdclk.c

index 465a72d185add3429a4d5ac3948666f3ed550f79..80e22507cd34c6841408554482c0a391a5a047fa 100644 (file)
@@ -1531,15 +1531,12 @@ static int cnl_calc_cdclk(int min_cdclk)
 
 static u8 cnl_calc_voltage_level(int cdclk)
 {
-       switch (cdclk) {
-       default:
-       case 168000:
-               return 0;
-       case 336000:
-               return 1;
-       case 528000:
+       if (cdclk > 336000)
                return 2;
-       }
+       else if (cdclk > 168000)
+               return 1;
+       else
+               return 0;
 }
 
 static void cnl_cdclk_pll_update(struct drm_i915_private *dev_priv,