aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/omap2/dss/dpi.c2
-rw-r--r--drivers/video/omap2/dss/dsi.c10
-rw-r--r--include/video/omapdss.h10
3 files changed, 14 insertions, 8 deletions
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 47c8a9d83586..dc6046402c84 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -57,7 +57,7 @@ static int dpi_set_dsi_clk(struct omap_dss_device *dssdev, bool is_tft,
57 if (r) 57 if (r)
58 return r; 58 return r;
59 59
60 dss_select_dispc_clk_source(OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC); 60 dss_select_dispc_clk_source(dssdev->clocks.dispc.dispc_fclk_src);
61 61
62 r = dispc_set_clock_div(dssdev->manager->id, &dispc_cinfo); 62 r = dispc_set_clock_div(dssdev->manager->id, &dispc_cinfo);
63 if (r) 63 if (r)
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index abfe7bfb8bc5..accc530f2fbf 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -3419,8 +3419,8 @@ static int dsi_configure_dispc_clocks(struct omap_dss_device *dssdev)
3419 3419
3420 fck = dsi_get_pll_hsdiv_dispc_rate(); 3420 fck = dsi_get_pll_hsdiv_dispc_rate();
3421 3421
3422 dispc_cinfo.lck_div = dssdev->clocks.dispc.lck_div; 3422 dispc_cinfo.lck_div = dssdev->clocks.dispc.channel.lck_div;
3423 dispc_cinfo.pck_div = dssdev->clocks.dispc.pck_div; 3423 dispc_cinfo.pck_div = dssdev->clocks.dispc.channel.pck_div;
3424 3424
3425 r = dispc_calc_clock_rates(fck, &dispc_cinfo); 3425 r = dispc_calc_clock_rates(fck, &dispc_cinfo);
3426 if (r) { 3426 if (r) {
@@ -3455,10 +3455,10 @@ static int dsi_display_init_dsi(struct omap_dss_device *dssdev)
3455 if (r) 3455 if (r)
3456 goto err1; 3456 goto err1;
3457 3457
3458 dss_select_dispc_clk_source(OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC); 3458 dss_select_dispc_clk_source(dssdev->clocks.dispc.dispc_fclk_src);
3459 dss_select_dsi_clk_source(OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI); 3459 dss_select_dsi_clk_source(dssdev->clocks.dsi.dsi_fclk_src);
3460 dss_select_lcd_clk_source(dssdev->manager->id, 3460 dss_select_lcd_clk_source(dssdev->manager->id,
3461 OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC); 3461 dssdev->clocks.dispc.channel.lcd_clk_src);
3462 3462
3463 DSSDBG("PLL OK\n"); 3463 DSSDBG("PLL OK\n");
3464 3464
diff --git a/include/video/omapdss.h b/include/video/omapdss.h
index c17dd59d9853..c57a046db538 100644
--- a/include/video/omapdss.h
+++ b/include/video/omapdss.h
@@ -420,8 +420,13 @@ struct omap_dss_device {
420 420
421 struct { 421 struct {
422 struct { 422 struct {
423 u16 lck_div; 423 struct {
424 u16 pck_div; 424 u16 lck_div;
425 u16 pck_div;
426 enum omap_dss_clk_source lcd_clk_src;
427 } channel;
428
429 enum omap_dss_clk_source dispc_fclk_src;
425 } dispc; 430 } dispc;
426 431
427 struct { 432 struct {
@@ -431,6 +436,7 @@ struct omap_dss_device {
431 u16 regm_dsi; 436 u16 regm_dsi;
432 437
433 u16 lp_clk_div; 438 u16 lp_clk_div;
439 enum omap_dss_clk_source dsi_fclk_src;
434 } dsi; 440 } dsi;
435 } clocks; 441 } clocks;
436 442