|
@@ -3167,28 +3167,32 @@ unsigned long dispc_mgr_lclk_rate(enum omap_channel channel)
|
|
|
unsigned long r;
|
|
|
u32 l;
|
|
|
|
|
|
- l = dispc_read_reg(DISPC_DIVISORo(channel));
|
|
|
+ if (dss_mgr_is_lcd(channel)) {
|
|
|
+ l = dispc_read_reg(DISPC_DIVISORo(channel));
|
|
|
|
|
|
- lcd = FLD_GET(l, 23, 16);
|
|
|
+ lcd = FLD_GET(l, 23, 16);
|
|
|
|
|
|
- switch (dss_get_lcd_clk_source(channel)) {
|
|
|
- case OMAP_DSS_CLK_SRC_FCK:
|
|
|
- r = clk_get_rate(dispc.dss_clk);
|
|
|
- break;
|
|
|
- case OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC:
|
|
|
- dsidev = dsi_get_dsidev_from_id(0);
|
|
|
- r = dsi_get_pll_hsdiv_dispc_rate(dsidev);
|
|
|
- break;
|
|
|
- case OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC:
|
|
|
- dsidev = dsi_get_dsidev_from_id(1);
|
|
|
- r = dsi_get_pll_hsdiv_dispc_rate(dsidev);
|
|
|
- break;
|
|
|
- default:
|
|
|
- BUG();
|
|
|
- return 0;
|
|
|
- }
|
|
|
+ switch (dss_get_lcd_clk_source(channel)) {
|
|
|
+ case OMAP_DSS_CLK_SRC_FCK:
|
|
|
+ r = clk_get_rate(dispc.dss_clk);
|
|
|
+ break;
|
|
|
+ case OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC:
|
|
|
+ dsidev = dsi_get_dsidev_from_id(0);
|
|
|
+ r = dsi_get_pll_hsdiv_dispc_rate(dsidev);
|
|
|
+ break;
|
|
|
+ case OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC:
|
|
|
+ dsidev = dsi_get_dsidev_from_id(1);
|
|
|
+ r = dsi_get_pll_hsdiv_dispc_rate(dsidev);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ BUG();
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
- return r / lcd;
|
|
|
+ return r / lcd;
|
|
|
+ } else {
|
|
|
+ return dispc_fclk_rate();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
unsigned long dispc_mgr_pclk_rate(enum omap_channel channel)
|
|
@@ -3247,12 +3251,9 @@ static unsigned long dispc_plane_lclk_rate(enum omap_plane plane)
|
|
|
{
|
|
|
enum omap_channel channel = dispc_ovl_get_channel_out(plane);
|
|
|
|
|
|
- if (dss_mgr_is_lcd(channel))
|
|
|
- return dispc_mgr_lclk_rate(channel);
|
|
|
- else
|
|
|
- return dispc_fclk_rate();
|
|
|
-
|
|
|
+ return dispc_mgr_lclk_rate(channel);
|
|
|
}
|
|
|
+
|
|
|
static void dispc_dump_clocks_channel(struct seq_file *s, enum omap_channel channel)
|
|
|
{
|
|
|
int lcd, pcd;
|