summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/intel_pm.c
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2014-03-04 19:22:51 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-07 22:36:46 +0100
commit70bf407c8deb5d2e26468a99f1af19a166bb89e7 (patch)
treed147808aa3b4f606d6695680db5f2d007b171b81 /drivers/gpu/drm/i915/intel_pm.c
parent8f670bb15a69e1186098454beb1b43dc1d923a24 (diff)
downloadlwn-70bf407c8deb5d2e26468a99f1af19a166bb89e7.tar.gz
lwn-70bf407c8deb5d2e26468a99f1af19a166bb89e7.zip
drm/i915: fold in __intel_power_well_get/put functions
These functions are used only by a single call site and are simple enough to just fold them in. Note that in later patches the parts folded in here are further simplified as we'll remove hsw_{disable,enable}_package_c8 and the NULL check of the power well enable/disable handlers. All this means that at the end intel_display_power_get/put() becomes more understandable as we don't need to jump between two functions when reading the code. No functional change. v2: - clarify the rational for the change (Chris) Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c37
1 files changed, 13 insertions, 24 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index f348ad287d4d..6f231890b395 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5366,27 +5366,6 @@ static void hsw_set_power_well(struct drm_i915_private *dev_priv,
}
}
-static void __intel_power_well_get(struct drm_i915_private *dev_priv,
- struct i915_power_well *power_well)
-{
- if (!power_well->count++ && power_well->set) {
- hsw_disable_package_c8(dev_priv);
- power_well->set(dev_priv, power_well, true);
- }
-}
-
-static void __intel_power_well_put(struct drm_i915_private *dev_priv,
- struct i915_power_well *power_well)
-{
- WARN_ON(!power_well->count);
-
- if (!--power_well->count && power_well->set &&
- i915.disable_power_well) {
- power_well->set(dev_priv, power_well, false);
- hsw_enable_package_c8(dev_priv);
- }
-}
-
void intel_display_power_get(struct drm_i915_private *dev_priv,
enum intel_display_power_domain domain)
{
@@ -5399,7 +5378,10 @@ void intel_display_power_get(struct drm_i915_private *dev_priv,
mutex_lock(&power_domains->lock);
for_each_power_well(i, power_well, BIT(domain), power_domains)
- __intel_power_well_get(dev_priv, power_well);
+ if (!power_well->count++ && power_well->set) {
+ hsw_disable_package_c8(dev_priv);
+ power_well->set(dev_priv, power_well, true);
+ }
power_domains->domain_use_count[domain]++;
@@ -5420,8 +5402,15 @@ void intel_display_power_put(struct drm_i915_private *dev_priv,
WARN_ON(!power_domains->domain_use_count[domain]);
power_domains->domain_use_count[domain]--;
- for_each_power_well_rev(i, power_well, BIT(domain), power_domains)
- __intel_power_well_put(dev_priv, power_well);
+ for_each_power_well_rev(i, power_well, BIT(domain), power_domains) {
+ WARN_ON(!power_well->count);
+
+ if (!--power_well->count && power_well->set &&
+ i915.disable_power_well) {
+ power_well->set(dev_priv, power_well, false);
+ hsw_enable_package_c8(dev_priv);
+ }
+ }
mutex_unlock(&power_domains->lock);
}