Message ID | 1440032556-9920-10-git-send-email-chandra.konduru@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 19, 2015 at 06:02:30PM -0700, Chandra Konduru wrote: > This patch adds NV12 to list of supported formats for > sprite plane. > > Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> > Testcase: igt/kms_nv12 > --- > drivers/gpu/drm/i915/intel_sprite.c | 23 +++++++++++++++++++++-- > 1 file changed, 21 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c > index 66d60ae..4e8c020 100644 > --- a/drivers/gpu/drm/i915/intel_sprite.c > +++ b/drivers/gpu/drm/i915/intel_sprite.c > @@ -1041,6 +1041,19 @@ static uint32_t skl_plane_formats[] = { > DRM_FORMAT_VYUY, > }; > > +static uint32_t skl_plane_formats_with_nv12[] = { static const ... > + 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) - 1; Stray '-1' > + } Only the first two planes have NV12. So primary and sprite 0 for us. And none on pipe C. Yep, matches the spec. With the const and -1 fixed this is Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > + > 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
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index 66d60ae..4e8c020 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c @@ -1041,6 +1041,19 @@ static uint32_t skl_plane_formats[] = { 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, +}; + 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) - 1; + } + break; default: kfree(intel_plane);
This patch adds NV12 to list of supported formats for sprite plane. Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> Testcase: igt/kms_nv12 --- drivers/gpu/drm/i915/intel_sprite.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-)