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
