Message ID | 1517921899-25926-12-git-send-email-vidya.srinivas@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Regards Shashank On 2/6/2018 6:28 PM, Vidya Srinivas wrote: > From: Chandra Konduru <chandra.konduru@intel.com> > > This patch adds NV12 to format_is_yuv() function > for sprite planes. > > v2: > -Use intel_ prefix for format_is_yuv (Ville) > > v3: Rebased (me) > > v4: Rebased and addressed review comments from Clinton A Taylor. > "static function in intel_sprite.c is not available > to the primary plane functions". > Changed commit message - function modified for > sprite planes. > > v5: Missed the Tested-by/Reviewed-by in the previous series > Adding the same to commit message in this version. > > v6: Rebased (me) > > v7: Rebased (me) > > v8: Rebased (me) > > v9: Rebased (me) > > v10: Changed intel_format_is_yuv function from > static to non-static. We need to use it later from > other files for check. > > Tested-by: Clinton Taylor <clinton.a.taylor@intel.com> > Reviewed-by: Clinton Taylor <clinton.a.taylor@intel.com> > 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_drv.h | 1 + > drivers/gpu/drm/i915/intel_sprite.c | 8 ++++---- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index 65dac21..d4c027a 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -2032,6 +2032,7 @@ void skl_disable_plane(struct intel_plane *plane, struct intel_crtc *crtc); > bool skl_plane_get_hw_state(struct intel_plane *plane); > bool skl_plane_has_ccs(struct drm_i915_private *dev_priv, > enum pipe pipe, enum plane_id plane_id); > +bool intel_format_is_yuv(uint32_t format); > > /* intel_tv.c */ > void intel_tv_init(struct drm_i915_private *dev_priv); > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c > index 3be22c0..9e31be2 100644 > --- a/drivers/gpu/drm/i915/intel_sprite.c > +++ b/drivers/gpu/drm/i915/intel_sprite.c > @@ -41,14 +41,14 @@ > #include <drm/i915_drm.h> > #include "i915_drv.h" > > -static bool > -format_is_yuv(uint32_t format) > +bool intel_format_is_yuv(uint32_t format) > { > switch (format) { > case DRM_FORMAT_YUYV: > case DRM_FORMAT_UYVY: > case DRM_FORMAT_VYUY: > case DRM_FORMAT_YVYU: > + case DRM_FORMAT_NV12: > return true; > default: > return false; > @@ -352,7 +352,7 @@ chv_update_csc(struct intel_plane *plane, uint32_t format) > enum plane_id plane_id = plane->id; > > /* Seems RGB data bypasses the CSC always */ > - if (!format_is_yuv(format)) > + if (!intel_format_is_yuv(format)) This assumption that CSC does only limited_range to full_range conversion is only correct until we enable plane level gamut mapping / generic color conversion. It would be great if we keep it like: chv_update_csc() { if (intel_format_is_yuv()) { /* limited_range -> full_range code here */ } /* So that generic CSC/GM code can be added here */ } But this should not really a blocker for this patch, > return; > > /* > @@ -979,7 +979,7 @@ intel_check_sprite_plane(struct intel_plane *plane, > src_y = src->y1 >> 16; > src_h = drm_rect_height(src) >> 16; > > - if (format_is_yuv(fb->format->format)) { > + if (intel_format_is_yuv(fb->format->format)) { > src_x &= ~1; > src_w &= ~1; > so with or without above comment addressed: Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 65dac21..d4c027a 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -2032,6 +2032,7 @@ void skl_disable_plane(struct intel_plane *plane, struct intel_crtc *crtc); bool skl_plane_get_hw_state(struct intel_plane *plane); bool skl_plane_has_ccs(struct drm_i915_private *dev_priv, enum pipe pipe, enum plane_id plane_id); +bool intel_format_is_yuv(uint32_t format); /* intel_tv.c */ void intel_tv_init(struct drm_i915_private *dev_priv); diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index 3be22c0..9e31be2 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c @@ -41,14 +41,14 @@ #include <drm/i915_drm.h> #include "i915_drv.h" -static bool -format_is_yuv(uint32_t format) +bool intel_format_is_yuv(uint32_t format) { switch (format) { case DRM_FORMAT_YUYV: case DRM_FORMAT_UYVY: case DRM_FORMAT_VYUY: case DRM_FORMAT_YVYU: + case DRM_FORMAT_NV12: return true; default: return false; @@ -352,7 +352,7 @@ chv_update_csc(struct intel_plane *plane, uint32_t format) enum plane_id plane_id = plane->id; /* Seems RGB data bypasses the CSC always */ - if (!format_is_yuv(format)) + if (!intel_format_is_yuv(format)) return; /* @@ -979,7 +979,7 @@ intel_check_sprite_plane(struct intel_plane *plane, src_y = src->y1 >> 16; src_h = drm_rect_height(src) >> 16; - if (format_is_yuv(fb->format->format)) { + if (intel_format_is_yuv(fb->format->format)) { src_x &= ~1; src_w &= ~1;