[Intel-gfx] [PATCH 9/9] drm/i915: Enable pipe gamma for sprites
Rodrigo Vivi
rodrigo.vivi at gmail.com
Tue Nov 19 18:42:55 CET 2013
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>
On Mon, Nov 18, 2013 at 6:32 PM, Rodrigo Vivi <rodrigo.vivi at gmail.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> We send the primary and cursor plane data through the gamma unit.
> In order to get matching output from sprites, also send the sprite
> data through the gamma unit.
>
> In the future we should add some properties to control this
> explicitly, and also add properties for the per-sprite gamma ramps
> what have you, but for now this seems like a reasonable thing to do.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 2 +-
> drivers/gpu/drm/i915/intel_sprite.c | 18 ++++++++++++++++++
> 2 files changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 8f4916d..7b454d2 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -3745,7 +3745,7 @@
>
> #define _SPACNTR (VLV_DISPLAY_BASE + 0x72180)
> #define SP_ENABLE (1<<31)
> -#define SP_GEAMMA_ENABLE (1<<30)
> +#define SP_GAMMA_ENABLE (1<<30)
> #define SP_PIXFORMAT_MASK (0xf<<26)
> #define SP_FORMAT_YUV422 (0<<26)
> #define SP_FORMAT_BGR565 (5<<26)
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 8afaad6..cb7ffd3 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -104,6 +104,12 @@ vlv_update_plane(struct drm_plane *dplane, struct drm_crtc *crtc,
> break;
> }
>
> + /*
> + * Enable gamma to match primary/cursor plane behaviour.
> + * FIXME should be user controllable via propertiesa.
> + */
> + sprctl |= SP_GAMMA_ENABLE;
> +
> if (obj->tiling_mode != I915_TILING_NONE)
> sprctl |= SP_TILED;
>
> @@ -257,6 +263,12 @@ ivb_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
> BUG();
> }
>
> + /*
> + * Enable gamma to match primary/cursor plane behaviour.
> + * FIXME should be user controllable via propertiesa.
> + */
> + sprctl |= SPRITE_GAMMA_ENABLE;
> +
> if (obj->tiling_mode != I915_TILING_NONE)
> sprctl |= SPRITE_TILED;
>
> @@ -453,6 +465,12 @@ ilk_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
> BUG();
> }
>
> + /*
> + * Enable gamma to match primary/cursor plane behaviour.
> + * FIXME should be user controllable via propertiesa.
> + */
> + dvscntr |= DVS_GAMMA_ENABLE;
> +
> if (obj->tiling_mode != I915_TILING_NONE)
> dvscntr |= DVS_TILED;
>
> --
> 1.8.3.1
>
--
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
More information about the Intel-gfx
mailing list