[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