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

Ville Syrjälä
2015-09-29T19:00:44Z

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@intel.com>
> > Testcase: igt/kms_nv12
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@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@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ville Syrjälä
> Intel OTC

--
Ville Syrjälä
Intel OTC