Message ID | 1440032556-9920-9-git-send-email-chandra.konduru@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 19, 2015 at 06:02:29PM -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 I think it's time to unify the separate primary/cursor code we have for skl and just use the sprite one everywhere. Doesn't need to happen necessarily before this patch series, but really needs to happen rather sooner than later. We've already broken some of the scaler tests because we had to hack away the 3rd plane because we couldn't remove the cursor stuff due to some oddball (and undebugged) reason. Iirc Damien has some patches somewhere for this. -Daniel > --- > 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 b1d9edf..e4a6a91 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, > @@ -13606,8 +13619,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
> -----Original Message----- > From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter > Sent: Wednesday, August 26, 2015 1:40 AM > To: Konduru, Chandra > Cc: intel-gfx@lists.freedesktop.org; Vetter, Daniel; Syrjala, Ville > Subject: Re: [Intel-gfx] [PATCH 08/15] drm/i915: Add NV12 as supported format > for primary plane > > On Wed, Aug 19, 2015 at 06:02:29PM -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 > > I think it's time to unify the separate primary/cursor code we have for > skl and just use the sprite one everywhere. Doesn't need to happen > necessarily before this patch series, but really needs to happen rather > sooner than later. We've already broken some of the scaler tests because > we had to hack away the 3rd plane because we couldn't remove the cursor > stuff due to some oddball (and undebugged) reason. Iirc Damien has some > patches somewhere for this. > -Daniel > I didn't planned before this patch series, but fully agree with your assessment to unify.
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b1d9edf..e4a6a91 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, @@ -13606,8 +13619,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(-)