[PATCH v3 3/6] drm/modes: Allow to specify rotation and reflection on the commandline
Noralf Trønnes
noralf at tronnes.org
Wed Jun 12 12:43:44 UTC 2019
Den 11.06.2019 14.49, skrev Maxime Ripard:
> Hi Noralf,
>
> On Thu, Apr 18, 2019 at 06:40:42PM +0200, Noralf Trønnes wrote:
>> Den 18.04.2019 14.41, skrev Maxime Ripard:
>>> + /**
>>> + * We want the rotation on the command line to overwrite
>>> + * whatever comes from the panel.
>>> + */
>>> + cmdline = &connector->cmdline_mode;
>>> + if (cmdline->specified &&
>>> + cmdline->rotation != DRM_MODE_ROTATE_0)
>>
>> I believe you need to drop that second check, otherwise rotate=0 will
>> not overwrite panel rotation.
>
> Good catch :)
>
>>> + } else if (!strncmp(option, "reflect_x", delim - option)) {
>>> + rotation |= DRM_MODE_REFLECT_X;
>>> + sep = delim;
>>> + } else if (!strncmp(option, "reflect_y", delim - option)) {
>>
>> I think you should drop reflect_x and _y for now since they're not
>> supported. People like me that only reads code and not documentation
>> (ahem..) will get the impression that this should work.
>
> I'm not sure what you mean here, this is definitely supposed to
> work. Is there a limitation you're thinking of?
>
It's this one in drm_client_panel_rotation() which limits rotation to
DRM_MODE_ROTATE_180:
/*
* TODO: support 90 / 270 degree hardware rotation,
* depending on the hardware this may require the framebuffer
* to be in a specific tiling format.
*/
if (*rotation != DRM_MODE_ROTATE_180 || !plane->rotation_property)
return false;
Noralf.
>> Documentation/fb/modedb.txt needs to be updated with this new video= option.
>
> Will do, thanks!
>
> maxime
>
> --
> Maxime Ripard, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
More information about the dri-devel
mailing list