Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70bf407c authored by Imre Deak's avatar Imre Deak Committed by Daniel Vetter
Browse files

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: default avatarImre Deak <imre.deak@intel.com>
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 8f670bb1
Loading
Loading
Loading
Loading
+13 −24
Original line number Diff line number Diff line
@@ -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);
}