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

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

drm/i915/hsw, bdw: Split power well set to enable/disable helpers



We can reduce the code indentation by splitting the set helper to
separate enable/disable helpers. This also allows us to unify the
HSW/BDW and GEN9+ power well ops in follow-up patches, which introduces
some differences between the enable and disable helpers.

While at it also remove the redundant enable/disable debug messages,
the same info is printed already elsewhere.

Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Reviewed-by: default avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1499352040-8819-12-git-send-email-imre.deak@intel.com


Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 00742cab
Loading
Loading
Loading
Loading
+17 −33
Original line number Diff line number Diff line
@@ -396,17 +396,11 @@ static void gen9_wait_for_power_well_disable(struct drm_i915_private *dev_priv,
		      !!(reqs & 1), !!(reqs & 2), !!(reqs & 4), !!(reqs & 8));
}

static void hsw_set_power_well(struct drm_i915_private *dev_priv,
			       struct i915_power_well *power_well, bool enable)
static void hsw_power_well_enable(struct drm_i915_private *dev_priv,
				  struct i915_power_well *power_well)
{
	uint32_t tmp;

	tmp = I915_READ(HSW_PWR_WELL_DRIVER);

	if (enable) {
	I915_WRITE(HSW_PWR_WELL_DRIVER, HSW_PWR_WELL_ENABLE_REQUEST);

		DRM_DEBUG_KMS("Enabling power well\n");
	if (intel_wait_for_register(dev_priv,
				    HSW_PWR_WELL_DRIVER,
				    HSW_PWR_WELL_STATE_ENABLED,
@@ -414,12 +408,14 @@ static void hsw_set_power_well(struct drm_i915_private *dev_priv,
				    20))
		DRM_ERROR("Timeout enabling power well\n");
	hsw_power_well_post_enable(dev_priv);
	} else {
}

static void hsw_power_well_disable(struct drm_i915_private *dev_priv,
				   struct i915_power_well *power_well)
{
	hsw_power_well_pre_disable(dev_priv);
	I915_WRITE(HSW_PWR_WELL_DRIVER, 0);
	POSTING_READ(HSW_PWR_WELL_DRIVER);
		DRM_DEBUG_KMS("Requesting to disable the power well\n");
	}
}

#define SKL_DISPLAY_POWERWELL_2_POWER_DOMAINS (		\
@@ -889,18 +885,6 @@ static void hsw_power_well_sync_hw(struct drm_i915_private *dev_priv,
	}
}

static void hsw_power_well_enable(struct drm_i915_private *dev_priv,
				  struct i915_power_well *power_well)
{
	hsw_set_power_well(dev_priv, power_well, true);
}

static void hsw_power_well_disable(struct drm_i915_private *dev_priv,
				   struct i915_power_well *power_well)
{
	hsw_set_power_well(dev_priv, power_well, false);
}

static bool skl_power_well_enabled(struct drm_i915_private *dev_priv,
					struct i915_power_well *power_well)
{