Message ID | 1496832108-32594-8-git-send-email-vidya.srinivas@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jun 07, 2017 at 04:11:47PM +0530, Vidya Srinivas wrote: > From: Chandra Konduru <chandra.konduru@intel.com> > > This patch adds NV12 to list of supported formats for sprite plane. > > v2: Rebased (me) > > Link: https://patchwork.kernel.org/patch/6426211/ > Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> > Signed-off-by: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com> > --- > drivers/gpu/drm/i915/intel_sprite.c | 24 +++++++++++++++++++++--- > 1 file changed, 21 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c > index d4665d2..b90624b 100644 > --- a/drivers/gpu/drm/i915/intel_sprite.c > +++ b/drivers/gpu/drm/i915/intel_sprite.c > @@ -1080,6 +1080,19 @@ int intel_sprite_set_colorkey(struct drm_device *dev, void *data, > DRM_FORMAT_VYUY, > }; > > +static uint32_t skl_plane_formats_with_nv12[] = { Same as with previous patch, the _with_ doesn't seem to add anything useful. > + 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, > +}; We're missing the 10bpc RGB formats, but we're already missing them in the current format list, so I guess it's fine. We'll need to get rid of this primary/sprite duplication anyway at some point. > + > struct intel_plane * > intel_sprite_plane_create(struct drm_i915_private *dev_priv, > enum pipe pipe, int plane) > @@ -1111,9 +1124,14 @@ struct intel_plane * > > intel_plane->update_plane = skl_update_plane; > intel_plane->disable_plane = skl_disable_plane; > - > - plane_formats = skl_plane_formats; > - num_plane_formats = ARRAY_SIZE(skl_plane_formats); > + if ((pipe == PIPE_A || pipe == PIPE_B) && (plane == 0)) { Usless parens. I don't think we want to enable NV12 on SKL/BXT. Display w/a #870 seems to be telling me KBL+/GLK+ should be fine. > + 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); > + } > } else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) { > intel_plane->can_scale = false; > intel_plane->max_downscale = 1; > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> -----Original Message----- > From: Ville Syrjälä [mailto:ville.syrjala@linux.intel.com] > Sent: Monday, June 12, 2017 7:50 PM > To: Srinivas, Vidya <vidya.srinivas@intel.com> > Cc: intel-gfx@lists.freedesktop.org > Subject: Re: [Intel-gfx] [PATCH 7/8] drm/i915: Add NV12 as supported > format for sprite plane > > On Wed, Jun 07, 2017 at 04:11:47PM +0530, Vidya Srinivas wrote: > > From: Chandra Konduru <chandra.konduru@intel.com> > > > > This patch adds NV12 to list of supported formats for sprite plane. > > > > v2: Rebased (me) > > > > Link: https://patchwork.kernel.org/patch/6426211/ > > Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> > > Signed-off-by: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > > Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com> > > --- > > drivers/gpu/drm/i915/intel_sprite.c | 24 +++++++++++++++++++++--- > > 1 file changed, 21 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_sprite.c > > b/drivers/gpu/drm/i915/intel_sprite.c > > index d4665d2..b90624b 100644 > > --- a/drivers/gpu/drm/i915/intel_sprite.c > > +++ b/drivers/gpu/drm/i915/intel_sprite.c > > @@ -1080,6 +1080,19 @@ int intel_sprite_set_colorkey(struct > drm_device *dev, void *data, > > DRM_FORMAT_VYUY, > > }; > > > > +static uint32_t skl_plane_formats_with_nv12[] = { > > Same as with previous patch, the _with_ doesn't seem to add anything > useful. Thank you. I will make the necessary changes and re-submit. Regards Vidya > > > + 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, > > +}; > > We're missing the 10bpc RGB formats, but we're already missing them in > the current format list, so I guess it's fine. We'll need to get rid of this > primary/sprite duplication anyway at some point. > > > + > > struct intel_plane * > > intel_sprite_plane_create(struct drm_i915_private *dev_priv, > > enum pipe pipe, int plane) > > @@ -1111,9 +1124,14 @@ struct intel_plane * > > > > intel_plane->update_plane = skl_update_plane; > > intel_plane->disable_plane = skl_disable_plane; > > - > > - plane_formats = skl_plane_formats; > > - num_plane_formats = ARRAY_SIZE(skl_plane_formats); > > + if ((pipe == PIPE_A || pipe == PIPE_B) && (plane == 0)) { > > Usless parens. > > I don't think we want to enable NV12 on SKL/BXT. Display w/a #870 seems > to be telling me KBL+/GLK+ should be fine. We were working on enabling the NV12 on the Apollo Lake (BXT) as well. I will check on this. Thank you. Regards Vidya > > > + 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); > > + } > > } else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) { > > intel_plane->can_scale = false; > > intel_plane->max_downscale = 1; > > -- > > 1.9.1 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Ville Syrjälä > Intel OTC
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index d4665d2..b90624b 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c @@ -1080,6 +1080,19 @@ int intel_sprite_set_colorkey(struct drm_device *dev, void *data, DRM_FORMAT_VYUY, }; +static 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, +}; + struct intel_plane * intel_sprite_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe, int plane) @@ -1111,9 +1124,14 @@ struct intel_plane * intel_plane->update_plane = skl_update_plane; intel_plane->disable_plane = skl_disable_plane; - - 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); + } } else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) { intel_plane->can_scale = false; intel_plane->max_downscale = 1;