Re: [PATCH] drm/msm/dsi: Set panel orientation when directly connected

From: Abhinav Kumar
Date: Thu Jul 07 2022 - 17:11:18 EST




On 7/6/2022 12:14 PM, Stephen Boyd wrote:
Set the panel orientation in drm when the panel is directly connected,
i.e. we're not using an external bridge. The external bridge case is
already handled by the panel bridge code, so we only update the path we
take when the panel is directly connected/internal. This silences a
warning splat coming from __drm_mode_object_add() on Wormdingler boards.

Cc: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx>
Cc: Douglas Anderson <dianders@xxxxxxxxxxxx>
Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
---

This relies on commit 5e41b01a7808 ("drm/panel: Add an API to allow drm
to set orientation from panel") which is in drm-misc

drivers/gpu/drm/msm/dsi/dsi_manager.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index cb84d185d73a..9333f7095acd 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -268,6 +268,8 @@ static int msm_dsi_manager_panel_init(struct drm_connector *conn, u8 id)
return PTR_ERR(panel);
}
+ drm_connector_set_orientation_from_panel(conn, panel);
+

This should be moved below the !panel check since you are passing panel as one of the params.

I looked up the doc and it says that for unknown(default cases) this is a no-op so I think this change is fine otherwise.

"It is allowed to call this function with a panel_orientation of DRM_MODE_PANEL_ORIENTATION_UNKNOWN, in which case it is a no-op."


if (!panel || !IS_BONDED_DSI())
goto out;

base-commit: 15b9ca1641f0c3cd74885280331e9172c62a125e