[PATCH 12/12] drm/connector: Hookup the new drm_cmdline_mode panel_orientation member
Hans de Goede
hdegoede at redhat.com
Tue Nov 12 10:43:22 UTC 2019
Hi,
On 12-11-2019 10:47, Daniel Vetter wrote:
> On Sun, Nov 10, 2019 at 04:41:01PM +0100, Hans de Goede wrote:
>> If the new video=... panel_orientation option is set for a connector, honor
>> it and setup a matching "panel orientation" property on the connector.
>>
>> BugLink: https://gitlab.freedesktop.org/plymouth/plymouth/merge_requests/83
>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>
> Don't we need one more patch here to create the panel orientation property
> if the driver doesn't do it? Otherwise this won't happen, and userspace
> can't look at it (only the internal fbdev stuff, which has it's own
> limitations wrt rotation).
That is what patch 11/12 is for, that patch renames drm_connector_init_panel_orientation
to drm_set_panel_orientation and makes it both set, init and attach the property
(unless called with DRM_MODE_PANEL_ORIENTATION_UNKNOWN in which case it is a no-op).
Patch 11/12 also makes drm_set_panel_orientation do the set only once, which is why
the orientation to set is now passed instead of stored directly in the connector,
so that a second set call (panel_orientation of the connector already !=
DRM_MODE_PANEL_ORIENTATION_UNKNOWN) can be skipped, so that the cmdline overrides
driver detecion code for this.
Regards,
Hans
> -Daniel
>
>> ---
>> drivers/gpu/drm/drm_connector.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
>> index 40a985c411a6..591914f01cd4 100644
>> --- a/drivers/gpu/drm/drm_connector.c
>> +++ b/drivers/gpu/drm/drm_connector.c
>> @@ -140,6 +140,13 @@ static void drm_connector_get_cmdline_mode(struct drm_connector *connector)
>> connector->force = mode->force;
>> }
>>
>> + if (mode->panel_orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) {
>> + DRM_INFO("setting connector %s panel_orientation to %d\n",
>> + connector->name, mode->panel_orientation);
>> + drm_connector_set_panel_orientation(connector,
>> + mode->panel_orientation);
>> + }
>> +
>> DRM_DEBUG_KMS("cmdline mode for connector %s %s %dx%d@%dHz%s%s%s\n",
>> connector->name, mode->name,
>> mode->xres, mode->yres,
>> --
>> 2.23.0
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
More information about the dri-devel
mailing list