[Intel-gfx] [PATCH 01/18] drm/i915/chv: Add unique power well ID for the pipe A power well
Rodrigo Vivi
rodrigo.vivi at gmail.com
Tue Jul 11 16:31:32 UTC 2017
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
On Thu, Jul 06, 2017 at 05:40:23PM +0300, Imre Deak wrote:
> The power well IDs are used for lookup, so they must be unique on a
> given platform; ensure this on CHV. This didn't cause an actual problem
> since we didn't need to look up power wells which happened to share an
> ID.
>
> Mark this new power well as custom, since its programming pattern
> doesn't follow that of the rest of VLV/CHV power wells.
>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 2 ++
> drivers/gpu/drm/i915/intel_runtime_pm.c | 10 +++++-----
> 2 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 64cc674..3f7beff 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1077,6 +1077,8 @@ enum punit_power_well {
> PUNIT_POWER_WELL_DPIO_RX0 = 10,
> PUNIT_POWER_WELL_DPIO_RX1 = 11,
> PUNIT_POWER_WELL_DPIO_CMN_D = 12,
> + /* - custom power well */
> + CHV_DISP_PW_PIPE_A, /* 13 */
>
> /* Not actual bit groups. Used as IDs for lookup_power_well() */
> PUNIT_POWER_WELL_ALWAYS_ON,
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 5eb9c5e..5f5dee4 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -1672,7 +1672,7 @@ void chv_phy_powergate_lanes(struct intel_encoder *encoder,
> static bool chv_pipe_power_well_enabled(struct drm_i915_private *dev_priv,
> struct i915_power_well *power_well)
> {
> - enum pipe pipe = power_well->id;
> + enum pipe pipe = PIPE_A;
> bool enabled;
> u32 state, ctrl;
>
> @@ -1702,7 +1702,7 @@ static void chv_set_pipe_power_well(struct drm_i915_private *dev_priv,
> struct i915_power_well *power_well,
> bool enable)
> {
> - enum pipe pipe = power_well->id;
> + enum pipe pipe = PIPE_A;
> u32 state;
> u32 ctrl;
>
> @@ -1735,7 +1735,7 @@ static void chv_set_pipe_power_well(struct drm_i915_private *dev_priv,
> static void chv_pipe_power_well_enable(struct drm_i915_private *dev_priv,
> struct i915_power_well *power_well)
> {
> - WARN_ON_ONCE(power_well->id != PIPE_A);
> + WARN_ON_ONCE(power_well->id != CHV_DISP_PW_PIPE_A);
>
> chv_set_pipe_power_well(dev_priv, power_well, true);
>
> @@ -1745,7 +1745,7 @@ static void chv_pipe_power_well_enable(struct drm_i915_private *dev_priv,
> static void chv_pipe_power_well_disable(struct drm_i915_private *dev_priv,
> struct i915_power_well *power_well)
> {
> - WARN_ON_ONCE(power_well->id != PIPE_A);
> + WARN_ON_ONCE(power_well->id != CHV_DISP_PW_PIPE_A);
>
> vlv_display_power_well_deinit(dev_priv);
>
> @@ -2184,7 +2184,7 @@ static struct i915_power_well chv_power_wells[] = {
> * required for any pipe to work.
> */
> .domains = CHV_DISPLAY_POWER_DOMAINS,
> - .id = PIPE_A,
> + .id = CHV_DISP_PW_PIPE_A,
> .ops = &chv_pipe_power_well_ops,
> },
> {
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list