[Intel-gfx] [PATCH 2/2] drm/i915: Only enabled DRRS if PRS won't be enabled on this pipe.

Ramalingam C ramalingam.c at intel.com
Wed Mar 25 03:38:23 PDT 2015


On Wednesday 25 March 2015 12:42 AM, Rodrigo Vivi wrote:
> With PSR enabled being pre computed on pipe_config we can now
> prevent DRRS to be enabled along with PSR.
>
> Cc: Ramalingam C <ramalingam.c at intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
>   drivers/gpu/drm/i915/intel_dp.c | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 637dd53..af28833 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -4992,11 +4992,6 @@ static void intel_dp_set_drrs_state(struct drm_device *dev, int refresh_rate)
>   		return;
>   	}
>   
> -	/*
> -	 * FIXME: This needs proper synchronization with psr state for some
> -	 * platforms that cannot have PSR and DRRS enabled at the same time.
> -	 */
> -
>   	dig_port = dp_to_dig_port(intel_dp);
>   	encoder = &dig_port->base;
>   	intel_crtc = encoder->new_crtc;
> @@ -5082,6 +5077,11 @@ void intel_edp_drrs_enable(struct intel_dp *intel_dp)
>   		return;
>   	}
>   
> +	if (intel_crtc->config->psr_enabled) {
> +		DRM_DEBUG_KMS("DRRS: PSR enabled on this crtc\n");
> +		return;
> +	}
> +
But you might want to explicitly disable the DRRS when PSR is supported. 
Because incase DRRS is enabled before PSR,
then blocking the enable call wont help us to stop DRRS.
In fact I would have suggested to place this in DRRS init path.  But a 
feature called media playback DRRS(in RFC stage)
needs DRRS active even when PSR is enabled/supported. So dont want to 
block the DRRS init path because PSR is supported.
Disabling alone will be sufficient.

So as soon as PSR support is detected you would like to explicitly 
disable the DRRS(if it is supported)
along with blocking further drrs_enable calls.
>   	mutex_lock(&dev_priv->drrs.mutex);
>   	if (WARN_ON(dev_priv->drrs.dp)) {
>   		DRM_ERROR("DRRS already enabled\n");

-- 
Ram



More information about the Intel-gfx mailing list