[PATCH RFC 4/9] drm/bridge: tc358762: Move initialisation to pre_enable
From: Andreas Kemnade
Date: Tue Sep 22 2026 - 02:17:54 EST
To allow panels to use SPI already in the prepare function, have things
already setup here.
Maybe setting LCDCTRL in enable might be an idea?
Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx>
---
drivers/gpu/drm/bridge/tc358762.c | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/bridge/tc358762.c b/drivers/gpu/drm/bridge/tc358762.c
index e73be376e33c..ec72e6e92b46 100644
--- a/drivers/gpu/drm/bridge/tc358762.c
+++ b/drivers/gpu/drm/bridge/tc358762.c
@@ -167,6 +167,12 @@ static void tc358762_pre_enable(struct drm_bridge *bridge,
struct drm_atomic_commit *state)
{
struct tc358762 *ctx = bridge_to_tc358762(bridge);
+ struct drm_connector_state *conn_state;
+ struct drm_bridge_state *bridge_state;
+ struct drm_crtc_state *crtc_state;
+ struct drm_connector *connector;
+ struct drm_display_mode *mode;
+ u32 lcdctrl;
int ret;
ret = regulator_enable(ctx->regulator);
@@ -178,21 +184,6 @@ static void tc358762_pre_enable(struct drm_bridge *bridge,
usleep_range(5000, 10000);
}
- ctx->pre_enabled = true;
-}
-
-static void tc358762_enable(struct drm_bridge *bridge,
- struct drm_atomic_commit *state)
-{
- struct tc358762 *ctx = bridge_to_tc358762(bridge);
- struct drm_connector_state *conn_state;
- struct drm_bridge_state *bridge_state;
- struct drm_crtc_state *crtc_state;
- struct drm_connector *connector;
- struct drm_display_mode *mode;
- u32 lcdctrl;
- int ret;
-
bridge_state = drm_atomic_get_new_bridge_state(state, bridge);
connector = drm_atomic_get_new_connector_for_encoder(state, bridge->encoder);
@@ -269,6 +260,13 @@ static void tc358762_enable(struct drm_bridge *bridge,
ret = tc358762_clear_error(ctx);
if (ret < 0)
dev_err(ctx->dev, "error initializing bridge (%d)\n", ret);
+
+ ctx->pre_enabled = true;
+}
+
+static void tc358762_enable(struct drm_bridge *bridge,
+ struct drm_atomic_commit *state)
+{
}
static int tc358762_attach(struct drm_bridge *bridge,
--
2.47.3