Skip to content

Commit

Permalink
drm/bridge: tc358762: Split register programming from pre-enable to e…
Browse files Browse the repository at this point in the history
…nable

Move the register programming part, which actually enables the bridge and
makes it push data out of its DPI side, into the enable callback. The DSI
host like DSIM may not be able to transmit commands in pre_enable, moving
the register programming into enable assures it can transmit commands.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230615201902.566182-1-marex@denx.de
  • Loading branch information
Marek Vasut authored and robertfoss committed Jun 22, 2023
1 parent a4c253d commit 8a4b2fc
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions drivers/gpu/drm/bridge/tc358762.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,11 +162,17 @@ 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 tc358762 *ctx = bridge_to_tc358762(bridge);
int ret;

ret = tc358762_init(ctx);
if (ret < 0)
dev_err(ctx->dev, "error initializing bridge (%d)\n", ret);

ctx->pre_enabled = true;
}

static int tc358762_attach(struct drm_bridge *bridge,
Expand All @@ -181,6 +187,7 @@ static int tc358762_attach(struct drm_bridge *bridge,
static const struct drm_bridge_funcs tc358762_bridge_funcs = {
.post_disable = tc358762_post_disable,
.pre_enable = tc358762_pre_enable,
.enable = tc358762_enable,
.attach = tc358762_attach,
};

Expand Down

0 comments on commit 8a4b2fc

Please sign in to comment.