[PATCH 2/5] drm/i915: keep AUX powered while PSR is enabled

Rodrigo Vivi rodrigo.vivi at intel.com
Tue Feb 13 07:26:05 UTC 2018


On Tue, Feb 13, 2018 at 12:16:10AM +0000, José Roberto de Souza wrote:
> Hardware can send AUX transactions by it self when PSR is enabled and it
> expects that AUX is kept powered up.
> 
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
> index 8b456e4e1b47..225fde979e57 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -516,6 +516,12 @@ void intel_psr_enable(struct intel_dp *intel_dp,
>  		goto unlock;
>  	}
>  
> +	/*
> +	 * hardware can send AUX transactions by it self when PSR is enabled,
> +	 * and it expects that AUX is kept powered up.
> +	 */
> +	intel_display_power_get(dev_priv, intel_dp->aux_power_domain);
> +

we actually kind of need the other way around... we need a way to block psr on aux transactions
instead of making sure we have more power wells enabled when psr is enabled.

this approach here would kill some power savings

>  	dev_priv->psr.psr2_support = crtc_state->has_psr2;
>  	dev_priv->psr.busy_frontbuffer_bits = 0;
>  
> @@ -656,6 +662,8 @@ void intel_psr_disable(struct intel_dp *intel_dp,
>  	/* Disable PSR on Sink */
>  	drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, 0);
>  
> +	intel_display_power_put(dev_priv, intel_dp->aux_power_domain);
> +
>  	dev_priv->psr.enabled = NULL;
>  	mutex_unlock(&dev_priv->psr.lock);
>  
> -- 
> 2.16.1
> 


More information about the Intel-gfx-trybot mailing list