[Intel-gfx] [PATCH 08/15] drm/i915: Add NV12 as supported format for sprite plane

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Sep 29 12:00:39 PDT 2015


On Tue, Sep 29, 2015 at 08:50:20PM +0300, Ville Syrjälä wrote:
> On Fri, Sep 04, 2015 at 07:33:04PM -0700, Chandra Konduru wrote:
> > This patch adds NV12 to list of supported formats for
> > sprite plane.
> > 
> > v2:
> > - made supported format list const, fixed a leftover -1. (Ville)
> > 
> > Signed-off-by: Chandra Konduru <chandra.konduru at intel.com>
> > Testcase: igt/kms_nv12
> 
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Oh and the ordering of patches doesn't seem very good here. This and the
primary plane equvalent need to be some of the last patches in the
series so that we don't expose the format before we're ready to handle
it.

> 
> > ---
> >  drivers/gpu/drm/i915/intel_sprite.c |   25 ++++++++++++++++++++++---
> >  1 file changed, 22 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> > index 66d60ae..797594e 100644
> > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > @@ -1029,7 +1029,7 @@ static const uint32_t vlv_plane_formats[] = {
> >  	DRM_FORMAT_VYUY,
> >  };
> >  
> > -static uint32_t skl_plane_formats[] = {
> > +static const uint32_t skl_plane_formats[] = {
> >  	DRM_FORMAT_RGB565,
> >  	DRM_FORMAT_ABGR8888,
> >  	DRM_FORMAT_ARGB8888,
> > @@ -1041,6 +1041,19 @@ static uint32_t skl_plane_formats[] = {
> >  	DRM_FORMAT_VYUY,
> >  };
> >  
> > +static const uint32_t skl_plane_formats_with_nv12[] = {
> > +	DRM_FORMAT_RGB565,
> > +	DRM_FORMAT_ABGR8888,
> > +	DRM_FORMAT_ARGB8888,
> > +	DRM_FORMAT_XBGR8888,
> > +	DRM_FORMAT_XRGB8888,
> > +	DRM_FORMAT_YUYV,
> > +	DRM_FORMAT_YVYU,
> > +	DRM_FORMAT_UYVY,
> > +	DRM_FORMAT_VYUY,
> > +	DRM_FORMAT_NV12,
> > +};
> > +
> >  int
> >  intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane)
> >  {
> > @@ -1112,8 +1125,14 @@ intel_plane_init(struct drm_device *dev, enum pipe pipe, int plane)
> >  		intel_plane->disable_plane = skl_disable_plane;
> >  		state->scaler_id = -1;
> >  
> > -		plane_formats = skl_plane_formats;
> > -		num_plane_formats = ARRAY_SIZE(skl_plane_formats);
> > +		if ((pipe == PIPE_A || pipe == PIPE_B) && (plane == 0)) {
> > +			plane_formats = skl_plane_formats_with_nv12;
> > +			num_plane_formats = ARRAY_SIZE(skl_plane_formats_with_nv12);
> > +		} else {
> > +			plane_formats = skl_plane_formats;
> > +			num_plane_formats = ARRAY_SIZE(skl_plane_formats);
> > +		}
> > +
> >  		break;
> >  	default:
> >  		kfree(intel_plane);
> > -- 
> > 1.7.9.5
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Ville Syrjälä
> Intel OTC

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list