[Intel-gfx] [PATCH v2 6/7] drm/i915/psr: Don't tell sink that main link will be active while is active PSR2

Dhinakaran Pandiyan dhinakaran.pandiyan at intel.com
Thu Sep 27 22:36:04 UTC 2018


On Wednesday, September 26, 2018 12:24:26 PM PDT José Roberto de Souza wrote:
> For PSR2 there is no register to tell HW to keep main link enabled
> while PSR2 is active, so don't configure sink DPCD with a
> wrong value.
> 
> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c
> b/drivers/gpu/drm/i915/intel_psr.c index cf18586459ec..9104cf8700dc 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -341,11 +341,14 @@ static void intel_psr_enable_sink(struct intel_dp
> *intel_dp) drm_dp_dpcd_writeb(&intel_dp->aux, DP_RECEIVER_ALPM_CONFIG,
>  				   DP_ALPM_ENABLE);
>  		dpcd_val |= DP_PSR_ENABLE_PSR2 | DP_PSR_IRQ_HPD_WITH_CRC_ERRORS;
> -	} else if (INTEL_GEN(dev_priv) >= 8)
> -		dpcd_val |= DP_PSR_CRC_VERIFICATION;
> +	} else {
> +		if (INTEL_GEN(dev_priv) >= 8)
> +			dpcd_val |= DP_PSR_CRC_VERIFICATION;
> +
> +		if (dev_priv->psr.link_standby)
Given that this value is exposed in debugfs, I think it makes sense to update 
it to the correct state instead of ignoring it. Something along the lines of 

+       if (dev_priv->psr.psr2_enabled)
+               dev_priv->psr.link_standby = false;

before psr_enable_sink is called

> +			dpcd_val |= DP_PSR_MAIN_LINK_ACTIVE;
> +	}
> 
> -	if (dev_priv->psr.link_standby)
> -		dpcd_val |= DP_PSR_MAIN_LINK_ACTIVE;
>  	drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, dpcd_val);
> 
>  	drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);






More information about the Intel-gfx mailing list