|
@@ -341,6 +341,7 @@ static void hsw_set_power_well(struct drm_i915_private *dev_priv,
|
|
|
BIT(POWER_DOMAIN_AUX_C) | \
|
|
|
BIT(POWER_DOMAIN_AUDIO) | \
|
|
|
BIT(POWER_DOMAIN_VGA) | \
|
|
|
+ BIT(POWER_DOMAIN_GMBUS) | \
|
|
|
BIT(POWER_DOMAIN_INIT))
|
|
|
#define BXT_DISPLAY_POWERWELL_1_POWER_DOMAINS ( \
|
|
|
BXT_DISPLAY_POWERWELL_2_POWER_DOMAINS | \
|
|
@@ -1438,6 +1439,7 @@ void intel_display_power_put(struct drm_i915_private *dev_priv,
|
|
|
BIT(POWER_DOMAIN_AUX_B) | \
|
|
|
BIT(POWER_DOMAIN_AUX_C) | \
|
|
|
BIT(POWER_DOMAIN_AUX_D) | \
|
|
|
+ BIT(POWER_DOMAIN_GMBUS) | \
|
|
|
BIT(POWER_DOMAIN_INIT))
|
|
|
#define HSW_DISPLAY_POWER_DOMAINS ( \
|
|
|
(POWER_DOMAIN_MASK & ~HSW_ALWAYS_ON_POWER_DOMAINS) | \
|
|
@@ -1814,6 +1816,8 @@ int intel_power_domains_init(struct drm_i915_private *dev_priv)
|
|
|
{
|
|
|
struct i915_power_domains *power_domains = &dev_priv->power_domains;
|
|
|
|
|
|
+ BUILD_BUG_ON(POWER_DOMAIN_NUM > 31);
|
|
|
+
|
|
|
mutex_init(&power_domains->lock);
|
|
|
|
|
|
/*
|
|
@@ -2085,36 +2089,6 @@ void intel_power_domains_suspend(struct drm_i915_private *dev_priv)
|
|
|
intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * intel_aux_display_runtime_get - grab an auxiliary power domain reference
|
|
|
- * @dev_priv: i915 device instance
|
|
|
- *
|
|
|
- * This function grabs a power domain reference for the auxiliary power domain
|
|
|
- * (for access to the GMBUS and DP AUX blocks) and ensures that it and all its
|
|
|
- * parents are powered up. Therefore users should only grab a reference to the
|
|
|
- * innermost power domain they need.
|
|
|
- *
|
|
|
- * Any power domain reference obtained by this function must have a symmetric
|
|
|
- * call to intel_aux_display_runtime_put() to release the reference again.
|
|
|
- */
|
|
|
-void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv)
|
|
|
-{
|
|
|
- intel_runtime_pm_get(dev_priv);
|
|
|
-}
|
|
|
-
|
|
|
-/**
|
|
|
- * intel_aux_display_runtime_put - release an auxiliary power domain reference
|
|
|
- * @dev_priv: i915 device instance
|
|
|
- *
|
|
|
- * This function drops the auxiliary power domain reference obtained by
|
|
|
- * intel_aux_display_runtime_get() and might power down the corresponding
|
|
|
- * hardware block right away if this is the last reference.
|
|
|
- */
|
|
|
-void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv)
|
|
|
-{
|
|
|
- intel_runtime_pm_put(dev_priv);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* intel_runtime_pm_get - grab a runtime pm reference
|
|
|
* @dev_priv: i915 device instance
|