Message ID | 1441420391-19109-8-git-send-email-chandra.konduru@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Sep 04, 2015 at 07:33:03PM -0700, Chandra Konduru wrote: > This patch adds NV12 to list of supported formats for > primary plane. > > v2: > -Rebased (me) > > Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> > Testcase: igt/kms_nv12 > --- > drivers/gpu/drm/i915/intel_display.c | 22 ++++++++++++++++++++-- > 1 file changed, 20 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 3f9111e..84dad95 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -74,6 +74,19 @@ static const uint32_t skl_primary_formats[] = { > DRM_FORMAT_XBGR2101010, > }; > > +/* Primary plane formats for gen >= 9 with NV12 */ > +static const uint32_t skl_primary_formats_with_nv12[] = { > + DRM_FORMAT_C8, > + DRM_FORMAT_RGB565, > + DRM_FORMAT_XRGB8888, > + DRM_FORMAT_XBGR8888, > + DRM_FORMAT_ARGB8888, > + DRM_FORMAT_ABGR8888, > + DRM_FORMAT_XRGB2101010, > + DRM_FORMAT_XBGR2101010, > + DRM_FORMAT_NV12, > +}; Looks like we've since gained support for packed YUV formats, so this patch needs a respin to include those as well. > + > /* Cursor formats */ > static const uint32_t intel_cursor_formats[] = { > DRM_FORMAT_ARGB8888, > @@ -13612,8 +13625,13 @@ static struct drm_plane *intel_primary_plane_create(struct drm_device *dev, > primary->plane = !pipe; > > if (INTEL_INFO(dev)->gen >= 9) { > - intel_primary_formats = skl_primary_formats; > - num_formats = ARRAY_SIZE(skl_primary_formats); > + if (pipe == PIPE_A || pipe == PIPE_B) { > + intel_primary_formats = skl_primary_formats_with_nv12; > + num_formats = ARRAY_SIZE(skl_primary_formats_with_nv12); > + } else { > + intel_primary_formats = skl_primary_formats; > + num_formats = ARRAY_SIZE(skl_primary_formats); > + } > } else if (INTEL_INFO(dev)->gen >= 4) { > intel_primary_formats = i965_primary_formats; > num_formats = ARRAY_SIZE(i965_primary_formats); > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > +/* Primary plane formats for gen >= 9 with NV12 */ > > +static const uint32_t skl_primary_formats_with_nv12[] = { > > + DRM_FORMAT_C8, > > + DRM_FORMAT_RGB565, > > + DRM_FORMAT_XRGB8888, > > + DRM_FORMAT_XBGR8888, > > + DRM_FORMAT_ARGB8888, > > + DRM_FORMAT_ABGR8888, > > + DRM_FORMAT_XRGB2101010, > > + DRM_FORMAT_XBGR2101010, > > + DRM_FORMAT_NV12, > > +}; > > Looks like we've since gained support for packed YUV formats, so this > patch needs a respin to include those as well. > A while ago Daniel mentioned he can resolve minor/small merge conflicts and don't have to respun. So my understanding is this should be ok as it should be minor one.
On Thu, Sep 10, 2015 at 09:06:23PM +0000, Konduru, Chandra wrote: > > > +/* Primary plane formats for gen >= 9 with NV12 */ > > > +static const uint32_t skl_primary_formats_with_nv12[] = { > > > + DRM_FORMAT_C8, > > > + DRM_FORMAT_RGB565, > > > + DRM_FORMAT_XRGB8888, > > > + DRM_FORMAT_XBGR8888, > > > + DRM_FORMAT_ARGB8888, > > > + DRM_FORMAT_ABGR8888, > > > + DRM_FORMAT_XRGB2101010, > > > + DRM_FORMAT_XBGR2101010, > > > + DRM_FORMAT_NV12, > > > +}; > > > > Looks like we've since gained support for packed YUV formats, so this > > patch needs a respin to include those as well. > > > > A while ago Daniel mentioned he can resolve minor/small > merge conflicts and don't have to respun. > So my understanding is this should be ok as it should be > minor one. Something like this may not even show up as a conflict since you're just adding a new table. And even if it does, it would be very easy to overlook the fact that the new table should also have the 4:2:2 formats.
> > > > +/* Primary plane formats for gen >= 9 with NV12 */ > > > > +static const uint32_t skl_primary_formats_with_nv12[] = { > > > > + DRM_FORMAT_C8, > > > > + DRM_FORMAT_RGB565, > > > > + DRM_FORMAT_XRGB8888, > > > > + DRM_FORMAT_XBGR8888, > > > > + DRM_FORMAT_ARGB8888, > > > > + DRM_FORMAT_ABGR8888, > > > > + DRM_FORMAT_XRGB2101010, > > > > + DRM_FORMAT_XBGR2101010, > > > > + DRM_FORMAT_NV12, > > > > +}; > > > > > > Looks like we've since gained support for packed YUV formats, so this > > > patch needs a respin to include those as well. > > > > > > > A while ago Daniel mentioned he can resolve minor/small > > merge conflicts and don't have to respun. > > So my understanding is this should be ok as it should be > > minor one. > > Something like this may not even show up as a conflict since you're just > adding a new table. And even if it does, it would be very easy to > overlook the fact that the new table should also have the 4:2:2 formats. Ok, will respun this patch with YUV packed formats patch being applied.
On Fri, Sep 11, 2015 at 12:28:28AM +0300, Ville Syrjälä wrote: > On Thu, Sep 10, 2015 at 09:06:23PM +0000, Konduru, Chandra wrote: > > > > +/* Primary plane formats for gen >= 9 with NV12 */ > > > > +static const uint32_t skl_primary_formats_with_nv12[] = { > > > > + DRM_FORMAT_C8, > > > > + DRM_FORMAT_RGB565, > > > > + DRM_FORMAT_XRGB8888, > > > > + DRM_FORMAT_XBGR8888, > > > > + DRM_FORMAT_ARGB8888, > > > > + DRM_FORMAT_ABGR8888, > > > > + DRM_FORMAT_XRGB2101010, > > > > + DRM_FORMAT_XBGR2101010, > > > > + DRM_FORMAT_NV12, > > > > +}; > > > > > > Looks like we've since gained support for packed YUV formats, so this > > > patch needs a respin to include those as well. > > > > > > > A while ago Daniel mentioned he can resolve minor/small > > merge conflicts and don't have to respun. > > So my understanding is this should be ok as it should be > > minor one. > > Something like this may not even show up as a conflict since you're just > adding a new table. And even if it does, it would be very easy to > overlook the fact that the new table should also have the 4:2:2 formats. Minor conflicts = changes around the code you're changing that doesn't materially affect your patch. This here seems like a full-blown feature conflict and means we might even need to retest (and also make sure test coverage is still adequate). -Daniel
> > On Thu, Sep 10, 2015 at 09:06:23PM +0000, Konduru, Chandra wrote: > > > > > +/* Primary plane formats for gen >= 9 with NV12 */ > > > > > +static const uint32_t skl_primary_formats_with_nv12[] = { > > > > > + DRM_FORMAT_C8, > > > > > + DRM_FORMAT_RGB565, > > > > > + DRM_FORMAT_XRGB8888, > > > > > + DRM_FORMAT_XBGR8888, > > > > > + DRM_FORMAT_ARGB8888, > > > > > + DRM_FORMAT_ABGR8888, > > > > > + DRM_FORMAT_XRGB2101010, > > > > > + DRM_FORMAT_XBGR2101010, > > > > > + DRM_FORMAT_NV12, > > > > > +}; > > > > > > > > Looks like we've since gained support for packed YUV formats, so this > > > > patch needs a respin to include those as well. > > > > > > > > > > A while ago Daniel mentioned he can resolve minor/small > > > merge conflicts and don't have to respun. > > > So my understanding is this should be ok as it should be > > > minor one. > > > > Something like this may not even show up as a conflict since you're just > > adding a new table. And even if it does, it would be very easy to > > overlook the fact that the new table should also have the 4:2:2 formats. > > Minor conflicts = changes around the code you're changing that doesn't > materially affect your patch. > > This here seems like a full-blown feature conflict and means we might even > need to retest (and also make sure test coverage is still adequate). Agree, patch has been rebased and updated patch resubmitted after retesting. > -Daniel > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 3f9111e..84dad95 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -74,6 +74,19 @@ static const uint32_t skl_primary_formats[] = { DRM_FORMAT_XBGR2101010, }; +/* Primary plane formats for gen >= 9 with NV12 */ +static const uint32_t skl_primary_formats_with_nv12[] = { + DRM_FORMAT_C8, + DRM_FORMAT_RGB565, + DRM_FORMAT_XRGB8888, + DRM_FORMAT_XBGR8888, + DRM_FORMAT_ARGB8888, + DRM_FORMAT_ABGR8888, + DRM_FORMAT_XRGB2101010, + DRM_FORMAT_XBGR2101010, + DRM_FORMAT_NV12, +}; + /* Cursor formats */ static const uint32_t intel_cursor_formats[] = { DRM_FORMAT_ARGB8888, @@ -13612,8 +13625,13 @@ static struct drm_plane *intel_primary_plane_create(struct drm_device *dev, primary->plane = !pipe; if (INTEL_INFO(dev)->gen >= 9) { - intel_primary_formats = skl_primary_formats; - num_formats = ARRAY_SIZE(skl_primary_formats); + if (pipe == PIPE_A || pipe == PIPE_B) { + intel_primary_formats = skl_primary_formats_with_nv12; + num_formats = ARRAY_SIZE(skl_primary_formats_with_nv12); + } else { + intel_primary_formats = skl_primary_formats; + num_formats = ARRAY_SIZE(skl_primary_formats); + } } else if (INTEL_INFO(dev)->gen >= 4) { intel_primary_formats = i965_primary_formats; num_formats = ARRAY_SIZE(i965_primary_formats);
This patch adds NV12 to list of supported formats for primary plane. v2: -Rebased (me) Signed-off-by: Chandra Konduru <chandra.konduru@intel.com> Testcase: igt/kms_nv12 --- drivers/gpu/drm/i915/intel_display.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-)