[Intel-gfx] [PATCH 2/2] drm/i915: Fix VLV sprite register offsets

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Jun 26 21:05:54 CEST 2013


On Wed, Jun 26, 2013 at 08:44:54PM +0200, Daniel Vetter wrote:
> On Tue, Jun 25, 2013 at 02:16:35PM +0300, ville.syrjala at linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > We forgot to add VLV_DISPLAY_BASE to the VLV sprite registers, which
> > caused the sprites to not work at all.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_reg.h | 50 ++++++++++++++++++++---------------------
> >  1 file changed, 25 insertions(+), 25 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > index 2c3bba5..10ac3d5 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -3492,7 +3492,7 @@
> >  #define SPRGAMC(pipe) _PIPE(pipe, _SPRA_GAMC, _SPRB_GAMC)
> >  #define SPRSURFLIVE(pipe) _PIPE(pipe, _SPRA_SURFLIVE, _SPRB_SURFLIVE)
> >  
> > -#define _SPACNTR		0x72180
> > +#define _SPACNTR		(VLV_DISPLAY_BASE + 0x72180)
> >  #define   SP_ENABLE			(1<<31)
> >  #define   SP_GEAMMA_ENABLE		(1<<30)
> >  #define   SP_PIXFORMAT_MASK		(0xf<<26)
> > @@ -3511,30 +3511,30 @@
> >  #define   SP_YUV_ORDER_YVYU		(2<<16)
> >  #define   SP_YUV_ORDER_VYUY		(3<<16)
> >  #define   SP_TILED			(1<<10)
> > -#define _SPALINOFF		0x72184
> > -#define _SPASTRIDE		0x72188
> > -#define _SPAPOS			0x7218c
> > -#define _SPASIZE		0x72190
> > -#define _SPAKEYMINVAL		0x72194
> > -#define _SPAKEYMSK		0x72198
> > -#define _SPASURF		0x7219c
> > -#define _SPAKEYMAXVAL		0x721a0
> > -#define _SPATILEOFF		0x721a4
> > -#define _SPACONSTALPHA		0x721a8
> > -#define _SPAGAMC		0x721f4
> > -
> > -#define _SPBCNTR		0x72280
> > -#define _SPBLINOFF		0x72284
> > -#define _SPBSTRIDE		0x72288
> > -#define _SPBPOS			0x7228c
> > -#define _SPBSIZE		0x72290
> > -#define _SPBKEYMINVAL		0x72294
> > -#define _SPBKEYMSK		0x72298
> > -#define _SPBSURF		0x7229c
> > -#define _SPBKEYMAXVAL		0x722a0
> > -#define _SPBTILEOFF		0x722a4
> > -#define _SPBCONSTALPHA		0x722a8
> > -#define _SPBGAMC		0x722f4
> > +#define _SPALINOFF		(VLV_DISPLAY_BASE + 0x72184)
> > +#define _SPASTRIDE		(VLV_DISPLAY_BASE + 0x72188)
> > +#define _SPAPOS			(VLV_DISPLAY_BASE + 0x7218c)
> > +#define _SPASIZE		(VLV_DISPLAY_BASE + 0x72190)
> > +#define _SPAKEYMINVAL		(VLV_DISPLAY_BASE + 0x72194)
> > +#define _SPAKEYMSK		(VLV_DISPLAY_BASE + 0x72198)
> > +#define _SPASURF		(VLV_DISPLAY_BASE + 0x7219c)
> > +#define _SPAKEYMAXVAL		(VLV_DISPLAY_BASE + 0x721a0)
> > +#define _SPATILEOFF		(VLV_DISPLAY_BASE + 0x721a4)
> > +#define _SPACONSTALPHA		(VLV_DISPLAY_BASE + 0x721a8)
> > +#define _SPAGAMC		(VLV_DISPLAY_BASE + 0x721f4)
> > +
> > +#define _SPBCNTR		(VLV_DISPLAY_BASE + 0x72280)
> > +#define _SPBLINOFF		(VLV_DISPLAY_BASE + 0x72284)
> > +#define _SPBSTRIDE		(VLV_DISPLAY_BASE + 0x72288)
> > +#define _SPBPOS			(VLV_DISPLAY_BASE + 0x7228c)
> > +#define _SPBSIZE		(VLV_DISPLAY_BASE + 0x72290)
> > +#define _SPBKEYMINVAL		(VLV_DISPLAY_BASE + 0x72294)
> > +#define _SPBKEYMSK		(VLV_DISPLAY_BASE + 0x72298)
> > +#define _SPBSURF		(VLV_DISPLAY_BASE + 0x7229c)
> > +#define _SPBKEYMAXVAL		(VLV_DISPLAY_BASE + 0x722a0)
> > +#define _SPBTILEOFF		(VLV_DISPLAY_BASE + 0x722a4)
> > +#define _SPBCONSTALPHA		(VLV_DISPLAY_BASE + 0x722a8)
> > +#define _SPBGAMC		(VLV_DISPLAY_BASE + 0x722f4)
> 
> Do we anticipate any unification of these registers anytime soon? I wonder
> whether we should switch to a per-sprite mmio offset just in case.

That's been on my TODO list since the dawn of time, but never got around
to coding a solution I was happy with.

> Anyway since this doesn't make it messier I've merged this patch for now.

For now I'm happy to just get the damn sprites on the screen :)

> -Daniel
> 
> >  
> >  #define SPCNTR(pipe, plane) _PIPE(pipe * 2 + plane, _SPACNTR, _SPBCNTR)
> >  #define SPLINOFF(pipe, plane) _PIPE(pipe * 2 + plane, _SPALINOFF, _SPBLINOFF)
> > -- 
> > 1.8.1.5
> > 
> > _______________________________________________
> > 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

-- 
Ville Syrjälä
Intel OTC



More information about the Intel-gfx mailing list