[Intel-gfx] [PATCH 09/11] drm/i915: Adding global I915_PARAM for PSR ENABLED.
Rodrigo Vivi
rodrigo.vivi at gmail.com
Wed Jul 17 19:46:52 CEST 2013
Hi Chris,
could you please review this specific one or give you ack here?
Thanks
On Thu, Jul 11, 2013 at 6:45 PM, Rodrigo Vivi <rodrigo.vivi at gmail.com> wrote:
> This global value allows userspace know when PSR is enabled.
>
> This will allow userspace emit more busy_ioctl when doing directly copy_area
> operations through scanout allowing forced psr exit.
>
> v2: Check for PSR enabled instead of active. (by Chris Wilson)
> v3: Use existing intel_edp_is_psr_enabled function.
>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>
> ---
> drivers/gpu/drm/i915/i915_dma.c | 3 +++
> drivers/gpu/drm/i915/intel_dp.c | 2 +-
> drivers/gpu/drm/i915/intel_drv.h | 1 +
> include/uapi/drm/i915_drm.h | 1 +
> 4 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 6ce9033..1e5dd1c 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1000,6 +1000,9 @@ static int i915_getparam(struct drm_device *dev, void *data,
> case I915_PARAM_HAS_EXEC_HANDLE_LUT:
> value = 1;
> break;
> + case I915_PARAM_PSR_ENABLED:
> + value = intel_edp_is_psr_enabled(dev);
> + break;
> default:
> DRM_DEBUG("Unknown parameter %d\n", param->param);
> return -EINVAL;
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index c0defaf..3c9473c 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1383,7 +1383,7 @@ static bool is_edp_psr(struct intel_dp *intel_dp)
> intel_dp->psr_dpcd[0] & DP_PSR_IS_SUPPORTED;
> }
>
> -static bool intel_edp_is_psr_enabled(struct drm_device *dev)
> +bool intel_edp_is_psr_enabled(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 40e955d..0f52362 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -838,5 +838,6 @@ extern bool intel_set_pch_fifo_underrun_reporting(struct drm_device *dev,
> extern void intel_edp_psr_enable(struct intel_dp *intel_dp);
> extern void intel_edp_psr_disable(struct intel_dp *intel_dp);
> extern void intel_edp_psr_update(struct drm_device *dev);
> +extern bool intel_edp_is_psr_enabled(struct drm_device *dev);
>
> #endif /* __INTEL_DRV_H__ */
> diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
> index 923ed7f..a5db73b 100644
> --- a/include/uapi/drm/i915_drm.h
> +++ b/include/uapi/drm/i915_drm.h
> @@ -310,6 +310,7 @@ typedef struct drm_i915_irq_wait {
> #define I915_PARAM_HAS_PINNED_BATCHES 24
> #define I915_PARAM_HAS_EXEC_NO_RELOC 25
> #define I915_PARAM_HAS_EXEC_HANDLE_LUT 26
> +#define I915_PARAM_PSR_ENABLED 27
>
> typedef struct drm_i915_getparam {
> int param;
> --
> 1.7.11.7
>
--
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
More information about the Intel-gfx
mailing list