Commit 39e08aff authored by Thierry Reding's avatar Thierry Reding

drm/tegra: dc: Make sure to set the module clock rate

When applying the PLL changes from the computed state object, make sure
to set the rate of the display controller module clock. Failing to do so
can yield to a situation where the parent will be set to the proper
pixel clock, but the module clock will be divided down to the rate that
is happened to be set to before the parent rate change.
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent a4bfa096
...@@ -1138,6 +1138,11 @@ static void tegra_dc_commit_state(struct tegra_dc *dc, ...@@ -1138,6 +1138,11 @@ static void tegra_dc_commit_state(struct tegra_dc *dc,
value = SHIFT_CLK_DIVIDER(state->div) | PIXEL_CLK_DIVIDER_PCD1; value = SHIFT_CLK_DIVIDER(state->div) | PIXEL_CLK_DIVIDER_PCD1;
tegra_dc_writel(dc, value, DC_DISP_DISP_CLOCK_CONTROL); tegra_dc_writel(dc, value, DC_DISP_DISP_CLOCK_CONTROL);
err = clk_set_rate(dc->clk, state->pclk);
if (err < 0)
dev_err(dc->dev, "failed to set clock %pC to %lu Hz: %d\n",
dc->clk, state->pclk, err);
} }
static void tegra_dc_stop(struct tegra_dc *dc) static void tegra_dc_stop(struct tegra_dc *dc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment