summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/nvidia/tegra124/display.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/soc/nvidia/tegra124/display.c b/src/soc/nvidia/tegra124/display.c
index 898e9b375b..9ad76f0ead 100644
--- a/src/soc/nvidia/tegra124/display.c
+++ b/src/soc/nvidia/tegra124/display.c
@@ -135,7 +135,7 @@ static int update_display_mode(struct display_controller *disp_ctrl,
&disp_ctrl->disp.disp_clk_ctrl);
printk(BIOS_DEBUG, "%s: PixelClock=%u, ShiftClockDiv=%u\n",
__func__, config->pixel_clock, shift_clock_div);
- return clock_display(config->pixel_clock * shift_clock_div * 2);
+ return 0;
}
static void update_window(struct display_controller *disp_ctrl,
@@ -278,6 +278,15 @@ void display_startup(device_t dev)
* light things up here once we're sure it's all working.
*/
+ /* The plld is programmed with the assumption of the SHIFT_CLK_DIVIDER
+ * and PIXEL_CLK_DIVIDER are zero (divide by 1). See the
+ * update_display_mode() for detail.
+ */
+ if (clock_display(config->pixel_clock * 2)) {
+ printk(BIOS_ERR, "dc: clock init failed\n");
+ return;
+ };
+
/* Init dc */
if (tegra_dc_init(disp_ctrl)) {
printk(BIOS_ERR, "dc: init failed\n");