[Intel-gfx] [PATCH 02/10] drm/i915: VLV PSR: Status/enabled function.

Daniel Vetter daniel at ffwll.ch
Fri Nov 7 10:28:16 CET 2014


On Tue, Oct 28, 2014 at 11:45:35AM -0700, Rodrigo Vivi wrote:
> VLV PSR support PSR per pipe, including the status. So we have to check
> if it is enabled per pipe on status.
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 23 +++++++++++++++++++++--
>  1 file changed, 21 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 82e47da..774eb6c 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2076,7 +2076,26 @@ static bool is_edp_psr(struct intel_dp *intel_dp)
>  	return intel_dp->psr_dpcd[0] & DP_PSR_IS_SUPPORTED;
>  }
>  
> -static bool intel_edp_is_psr_enabled(struct drm_device *dev)
> +/**
> + * vlv_edp_is_psr_enabled_on_pipe
> + * @dev: DRM device
> + * @pipe: pipe to check for PSR status.
> + *
> + * VLV PSR implements PSR per pipe. This function allows to check if it is
> + * enabled on given pipe.
> + */
> +static bool vlv_edp_is_psr_enabled_on_pipe(struct drm_device *dev, int pipe)

Adding functions without users makes imo patch review harder.

> +{
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +	uint32_t val;
> +
> +	val = I915_READ(VLV_PSRSTAT(pipe)) &
> +		VLV_EDP_PSR_CURR_STATE_MASK;
> +	return (val == VLV_EDP_PSR_ACTIVE_NORFB_UP) ||
> +		(val == VLV_EDP_PSR_ACTIVE_SF_UPDATE);
> +}
> +
> +static bool hsw_edp_is_psr_enabled(struct drm_device *dev)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> @@ -5066,7 +5085,7 @@ void intel_dp_set_drrs_state(struct drm_device *dev, int refresh_rate)
>  	 * hard to tell without seeing the user of this function of this code.
>  	 * Check locking and ordering once that lands.
>  	 */
> -	if (INTEL_INFO(dev)->gen < 8 && intel_edp_is_psr_enabled(dev)) {
> +	if (IS_HASWELL(dev) && hsw_edp_is_psr_enabled(dev)) {

Or is there something missing here? Otherwise this hunk here looks like a
separate patch ...
-Daniel

>  		DRM_DEBUG_KMS("DRRS is disabled as PSR is enabled\n");
>  		return;
>  	}
> -- 
> 1.9.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list