OSDN Git Service

drm/bridge: panel: Set orientation on panel_bridge connector
authorJohn Keeping <john@metanate.com>
Fri, 20 Jan 2023 11:43:12 +0000 (11:43 +0000)
committerDouglas Anderson <dianders@chromium.org>
Tue, 7 Feb 2023 00:50:57 +0000 (16:50 -0800)
Commit 15b9ca1641f0 ("drm: Config orientation property if panel provides
it") added a helper to set the panel orientation early but only
connected this for drm_bridge_connector, which constructs a panel bridge
with DRM_BRIDGE_ATTACH_NO_CONNECTOR and creates the connector itself.

When the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag is not specified and the
panel_bridge creates its own connector the orientation is not set unless
the panel does it in .get_modes which is too late and leads to a warning
splat from __drm_mode_object_add() because the device is already
registered.

Call the necessary function to set add the orientation property when the
connector is created so that it is available before the device is
registered.

Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230120114313.2087015-1-john@metanate.com
drivers/gpu/drm/bridge/panel.c

index e8aae3c..d4b1129 100644 (file)
@@ -81,6 +81,8 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
                return ret;
        }
 
+       drm_panel_bridge_set_orientation(connector, bridge);
+
        drm_connector_attach_encoder(&panel_bridge->connector,
                                          bridge->encoder);