Re: [PATCH v6 6/6] drm/i915: Add NV12 as supported format for sprite plane

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Maarten Lankhorst [mailto:maarten.lankhorst@xxxxxxxxxxxxxxx]
> Sent: Monday, May 7, 2018 1:55 PM
> To: Srinivas, Vidya <vidya.srinivas@xxxxxxxxx>; intel-
> gfx@xxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  [PATCH v6 6/6] drm/i915: Add NV12 as supported
> format for sprite plane
> 
> Op 07-05-18 om 10:20 schreef Srinivas, Vidya:
> >
> >> -----Original Message-----
> >> From: Srinivas, Vidya
> >> Sent: Monday, May 7, 2018 1:46 PM
> >> To: 'Maarten Lankhorst' <maarten.lankhorst@xxxxxxxxxxxxxxx>; intel-
> >> gfx@xxxxxxxxxxxxxxxxxxxxx
> >> Subject: RE:  [PATCH v6 6/6] drm/i915: Add NV12 as
> >> supported format for sprite plane
> >>
> >>
> >>
> >>> -----Original Message-----
> >>> From: Maarten Lankhorst [mailto:maarten.lankhorst@xxxxxxxxxxxxxxx]
> >>> Sent: Monday, May 7, 2018 1:44 PM
> >>> To: Srinivas, Vidya <vidya.srinivas@xxxxxxxxx>; intel-
> >>> gfx@xxxxxxxxxxxxxxxxxxxxx
> >>> Subject: Re:  [PATCH v6 6/6] drm/i915: Add NV12 as
> >>> supported format for sprite plane
> >>>
> >>> Op 07-05-18 om 10:11 schreef Srinivas, Vidya:
> >>>>> -----Original Message-----
> >>>>> From: Maarten Lankhorst [mailto:maarten.lankhorst@xxxxxxxxxxxxxxx]
> >>>>> Sent: Monday, May 7, 2018 1:38 PM
> >>>>> To: Srinivas, Vidya <vidya.srinivas@xxxxxxxxx>; intel-
> >>>>> gfx@xxxxxxxxxxxxxxxxxxxxx
> >>>>> Subject: Re:  [PATCH v6 6/6] drm/i915: Add NV12 as
> >>>>> supported format for sprite plane
> >>>>>
> >>>>> Op 06-05-18 om 19:44 schreef Vidya Srinivas:
> >>>>>> From: Chandra Konduru <chandra.konduru@xxxxxxxxx>
> >>>>>>
> >>>>>> This patch adds NV12 to list of supported formats for sprite plane.
> >>>>>>
> >>>>>> v2: Rebased (me)
> >>>>>>
> >>>>>> v3: Review comments by Ville addressed
> >>>>>> - Removed skl_plane_formats_with_nv12 and added
> >>>>>> NV12 case in existing skl_plane_formats
> >>>>>> - Added the 10bpc RGB formats
> >>>>>>
> >>>>>> v4: Addressed review comments from Clinton A Taylor "Why are we
> >>>>> adding
> >>>>>> 10 bit RGB formats with the NV12 series patches?
> >>>>>> Trying to set XR30 or AB30 results in error returned even though
> >>>>>> the modes are advertised for the planes"
> >>>>>> - Removed 10bit RGB formats added previously with NV12 series
> >>>>>>
> >>>>>> v5: Missed the Tested-by/Reviewed-by in the previous series
> >>>>>> Adding the same to commit message in this version.
> >>>>>> Addressed review comments from Clinton A Taylor "Why are we
> >> adding
> >>>>>> 10 bit RGB formats with the NV12 series patches?
> >>>>>> Trying to set XR30 or AB30 results in error returned even though
> >>>>>> the modes are advertised for the planes"
> >>>>>> - Previous version has 10bit RGB format removed from VLV formats
> >>>>>> by mistake. Fixing that in this version.
> >>>>>> Removed 10bit RGB formats added previously with NV12 series for
> >> SKL.
> >>>>>> v6: Addressed review comments by Ville Restricting the NV12 to
> >>>>>> BXT and PIPE A and B
> >>>>>>
> >>>>>> v7: Rebased (me)
> >>>>>>
> >>>>>> v8: Rebased (me)
> >>>>>> Restricting NV12 changes to BXT and KBL Restricting NV12 changes
> >>>>>> for plane 0 (overlay)
> >>>>>>
> >>>>>> v9: Rebased (me)
> >>>>>>
> >>>>>> v10: Addressed review comments from Maarten.
> >>>>>> Adding NV12 to skl_plane_formats itself.
> >>>>>>
> >>>>>> v11: Addressed review comments from Shashank Sharma
> >>>>>>
> >>>>>> v12: Addressed review comments from Shashank Sharma Made the
> >>>>> condition
> >>>>>> in intel_sprite_plane_create simple and easy to read as suggested.
> >>>>>>
> >>>>>> v13: Adding reviewed by tag from Shashank Sharma Addressed
> review
> >>>>>> comments from Juha-Pekka Heikkila
> >>>>>> "NV12 not to be supported by SKL"
> >>>>>>
> >>>>>> v14: Addressed review comments from Ville Added
> >> skl_planar_formats
> >>>>>> to include NV12 and a check skl_plane_has_planar in sprite create
> >>>>>> Added
> >>>>>> NV12 format to skl_mod_supported. These were review comments
> >>> from
> >>>>>> Kristian Høgsberg <hoegsberg@xxxxxxxxx>
> >>>>>>
> >>>>>> v15: Added reviewed by from Juha-Pekka Heikkila
> >>>>>>
> >>>>>> v16: Rebased the series
> >>>>>>
> >>>>>> v17: Added all tiling under mod supported for NV12 Credits to
> >>>>>> Megha Aggarwal
> >>>>>>
> >>>>>> v18: Added RB by Maarten and Kristian
> >>>>>>
> >>>>>> Credits-to: Megha Aggarwal <megha.aggarwal@xxxxxxxxx>
> >>>>>> Credits-to: Kristian Høgsberg <hoegsberg@xxxxxxxxx>
> >>>>>> Reviewed-by: Kristian Høgsberg <hoegsberg@xxxxxxxxx>
> >>>>>> Reviewed-by: Maarten Lankhorst
> >> <maarten.lankhorst@xxxxxxxxxxxxxxx>
> >>>>>> Tested-by: Clinton Taylor <clinton.a.taylor@xxxxxxxxx>
> >>>>>> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@xxxxxxxxx>
> >>>>>> Reviewed-by: Shashank Sharma <shashank.sharma@xxxxxxxxx>
> >>>>>> Reviewed-by: Clinton Taylor <clinton.a.taylor@xxxxxxxxx>
> >>>>>> Signed-off-by: Chandra Konduru <chandra.konduru@xxxxxxxxx>
> >>>>>> Signed-off-by: Nabendu Maiti <nabendu.bikash.maiti@xxxxxxxxx>
> >>>>>> Signed-off-by: Vidya Srinivas <vidya.srinivas@xxxxxxxxx>
> >>>>>> ---
> >>>>>>  drivers/gpu/drm/i915/intel_sprite.c | 29
> >>>>>> +++++++++++++++++++++++++++--
> >>>>>>  1 file changed, 27 insertions(+), 2 deletions(-)
> >>>>>>
> >>>>>> diff --git a/drivers/gpu/drm/i915/intel_sprite.c
> >>>>>> b/drivers/gpu/drm/i915/intel_sprite.c
> >>>>>> index c73553a..cdcae9e 100644
> >>>>>> --- a/drivers/gpu/drm/i915/intel_sprite.c
> >>>>>> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> >>>>>> @@ -1180,6 +1180,19 @@ static uint32_t skl_plane_formats[] = {
> >>>>>>  	DRM_FORMAT_VYUY,
> >>>>>>  };
> >>>>>>
> >>>>>> +static uint32_t skl_planar_formats[] = {
> >>>>>> +	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,
> >>>>>> +};
> >>>>>> +
> >>>>>>  static const uint64_t skl_plane_format_modifiers_noccs[] = {
> >>>>>>  	I915_FORMAT_MOD_Yf_TILED,
> >>>>>>  	I915_FORMAT_MOD_Y_TILED,
> >>>>>> @@ -1277,6 +1290,12 @@ static bool skl_mod_supported(uint32_t
> >>>>> format, uint64_t modifier)
> >>>>>>  		if (modifier == I915_FORMAT_MOD_Yf_TILED)
> >>>>>>  			return true;
> >>>>>>  		/* fall through */
> >>>>>> +	case DRM_FORMAT_NV12:
> >>>>>> +		if (modifier == DRM_FORMAT_MOD_LINEAR ||
> >>>>>> +		    modifier == I915_FORMAT_MOD_X_TILED ||
> >>>>>> +		    modifier == I915_FORMAT_MOD_Y_TILED ||
> >>>>>> +		    modifier == I915_FORMAT_MOD_Yf_TILED)
> >>>>>> +			return true;
> >>>>> On patch 5 and 6: this is a tad overkill, just put it below
> >>>>> DRM_FORMAT_VYUY and let it fall through. It's not different from
> >>>>> the other formats. :) Otherwise looks good, I'll wait until the
> >>>>> changes from drm-misc- next are merged into drm-intel-next-queued
> >>>>> then this series can be applied with the minor fixup.
> >>>> Sure, thank you. I'll make the change. I did this to fix a review
> >>>> comment - which said all modifiers aren’t Covered for NV12 - when
> >>>> we
> >>> earlier had it under VYUV. Would that be still okay?
> >>> Seems only CCS isn't covered, so putting it there should be fine. :)
> >> Oh okay - sure thank you. Will make the change and float the series.
> > Sorry to ask - under VYUV only Yf_TILED returns true. Don’t we need to
> > add the other modifiers like MOD_LINEAR, MOD_X_TILED and
> MOD_Y_TILED?
> >> Regards
> >> Vidya
> 
> This is a C switch, unless there is a break it will continue, so it works as
> intended. :)
> 
> For example format UYVY if modifier == Yf_TILED_CCS, it will ignore all the
> lines with case and default, and continue to the end of the switch
> statement, or until it hits a 'break' so the below:
I am so sorry, I did not notice there was no break :( Got confused. Thank you.

Regards
Vidya
> 
> 
> 	case DRM_FORMAT_UYVY:
> 	case DRM_FORMAT_VYUY:
> 		if (modifier == I915_FORMAT_MOD_Yf_TILED)
> 			return true;
> 		/* fall through */
> 	case DRM_FORMAT_C8:
> 		if (modifier == DRM_FORMAT_MOD_LINEAR ||
> 		    modifier == I915_FORMAT_MOD_X_TILED ||
> 		    modifier == I915_FORMAT_MOD_Y_TILED)
> 			return true;
> 		/* fall through */
> 	default:
> 		return false;
> }
> 
> for UYVY ends up being the same as:
> 
> if (format == DRM_FORMAT_UYVY) {
> 	if (modifier == I915_FORMAT_MOD_Yf_TILED)
> 		return true;
> 	if (modifier == DRM_FORMAT_MOD_LINEAR ||
> 	    modifier == I915_FORMAT_MOD_X_TILED ||
> 	    modifier == I915_FORMAT_MOD_Y_TILED)
> 		return true;
> 	return false;
> }

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux