|
@@ -6053,6 +6053,27 @@ int i915_release_power_well(void)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(i915_release_power_well);
|
|
|
|
|
|
+/*
|
|
|
+ * Private interface for the audio driver to get CDCLK in kHz.
|
|
|
+ *
|
|
|
+ * Caller must request power well using i915_request_power_well() prior to
|
|
|
+ * making the call.
|
|
|
+ */
|
|
|
+int i915_get_cdclk_freq(void)
|
|
|
+{
|
|
|
+ struct drm_i915_private *dev_priv;
|
|
|
+
|
|
|
+ if (!hsw_pwr)
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
+ dev_priv = container_of(hsw_pwr, struct drm_i915_private,
|
|
|
+ power_domains);
|
|
|
+
|
|
|
+ return intel_ddi_get_cdclk_freq(dev_priv);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL_GPL(i915_get_cdclk_freq);
|
|
|
+
|
|
|
+
|
|
|
#define POWER_DOMAIN_MASK (BIT(POWER_DOMAIN_NUM) - 1)
|
|
|
|
|
|
#define HSW_ALWAYS_ON_POWER_DOMAINS ( \
|