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 <[email protected]>
---
 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

Reply via email to