Message ID | 1441420391-19109-9-git-send-email-chandra.konduru@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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> > --- > 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
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
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);
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 --- drivers/gpu/drm/i915/intel_sprite.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-)