drm/i915: Use cached cdclk value in i915_audio_component_get_cdclk_freq()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 26 Apr 2016 16:46:33 +0000 (19:46 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 28 Apr 2016 15:11:19 +0000 (18:11 +0300)
No point in reading the cdclk out from the hardware every single time
since we have it cached already. Just return the cached value to the
audio driver.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1461689194-6079-3-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
drivers/gpu/drm/i915/intel_audio.c

index 56ba876..1063108 100644 (file)
@@ -624,17 +624,11 @@ static void i915_audio_component_codec_wake_override(struct device *dev,
 static int i915_audio_component_get_cdclk_freq(struct device *dev)
 {
        struct drm_i915_private *dev_priv = dev_to_i915(dev);
-       int ret;
 
        if (WARN_ON_ONCE(!HAS_DDI(dev_priv)))
                return -ENODEV;
 
-       intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
-       ret = dev_priv->display.get_display_clock_speed(dev_priv->dev);
-
-       intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
-
-       return ret;
+       return dev_priv->cdclk_freq;
 }
 
 static int i915_audio_component_sync_audio_rate(struct device *dev,