diff options
Diffstat (limited to 'drivers/gpu/drm/tegra/hdmi.c')
| -rw-r--r-- | drivers/gpu/drm/tegra/hdmi.c | 12 | 
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c index 7e06657ae58b..06ab1783bba1 100644 --- a/drivers/gpu/drm/tegra/hdmi.c +++ b/drivers/gpu/drm/tegra/hdmi.c @@ -851,6 +851,14 @@ static void tegra_hdmi_encoder_mode_set(struct drm_encoder *encoder,  	h_back_porch = mode->htotal - mode->hsync_end;  	h_front_porch = mode->hsync_start - mode->hdisplay; +	err = clk_set_rate(hdmi->clk, pclk); +	if (err < 0) { +		dev_err(hdmi->dev, "failed to set HDMI clock frequency: %d\n", +			err); +	} + +	DRM_DEBUG_KMS("HDMI clock rate: %lu Hz\n", clk_get_rate(hdmi->clk)); +  	/* power up sequence */  	value = tegra_hdmi_readl(hdmi, HDMI_NV_PDISP_SOR_PLL0);  	value &= ~SOR_PLL_PDBG; @@ -944,7 +952,7 @@ static void tegra_hdmi_encoder_mode_set(struct drm_encoder *encoder,  	}  	tegra_hdmi_writel(hdmi, -			  SOR_SEQ_CTL_PU_PC(0) | +			  SOR_SEQ_PU_PC(0) |  			  SOR_SEQ_PU_PC_ALT(0) |  			  SOR_SEQ_PD_PC(8) |  			  SOR_SEQ_PD_PC_ALT(8), @@ -1386,8 +1394,8 @@ static int tegra_hdmi_exit(struct host1x_client *client)  	tegra_output_exit(&hdmi->output); -	clk_disable_unprepare(hdmi->clk);  	reset_control_assert(hdmi->rst); +	clk_disable_unprepare(hdmi->clk);  	regulator_disable(hdmi->vdd);  	regulator_disable(hdmi->pll);  |