[PATCH 7/7] drm/omap: fix YUV422 90/270 rotation with mirroring

Tomi Valkeinen tomi.valkeinen at ti.com
Wed May 24 07:02:25 UTC 2017



On 24/05/17 09:46, Laurent Pinchart wrote:
> Hi Tomi,
> 
> Thank you for the patch.
> 
> On Wednesday 17 May 2017 10:56:44 Tomi Valkeinen wrote:
>> When rotating 90/270 + mirroring with YUV422, the end result will have
>> adjacent pixels swapped. The problem is that
>> dispc_ovl_set_rotation_attrs() has wrong rotation values for these
>> cases.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
>> ---
>>  drivers/gpu/drm/omapdrm/dss/dispc.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c
>> b/drivers/gpu/drm/omapdrm/dss/dispc.c index 80c75e5913cb..7261f87b2a5b
>> 100644
>> --- a/drivers/gpu/drm/omapdrm/dss/dispc.c
>> +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
>> @@ -1817,13 +1817,13 @@ static void dispc_ovl_set_rotation_attrs(enum
>> omap_plane_id plane, u8 rotation, vidrot = 2;
>>  				break;
>>  			case DRM_ROTATE_270:
>> -				vidrot = 1;
>> +				vidrot = 3;
>>  				break;
>>  			case DRM_ROTATE_180:
>>  				vidrot = 0;
>>  				break;
>>  			case DRM_ROTATE_90:
>> -				vidrot = 3;
>> +				vidrot = 1;
> 
> How about ordering the cases in 0, 90, 180, 270 order ? That would look 
> cleaner for both the case label and the vidrot value. I would actually have 
> done so in the patch where you replaced OMAP_DSS_ROT_* with DRM_ROTATE_*.

I now change the order in the patch you mention, and added comments
highlighting the different clockwiseness.

 Tomi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170524/35b190bb/attachment-0001.sig>


More information about the dri-devel mailing list