aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorSumit Semwal <sumit.semwal@ti.com>2010-12-02 06:27:11 -0500
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2011-01-10 04:36:34 -0500
commitff1b2cde3f551c9b56887b41e0ebbf2907566a7d (patch)
tree92a2f55883b9092856042892d937932a6f036c3a /drivers/video/omap2
parent64ba4f748a005a44c03c98e082d8ee157f4ee66f (diff)
OMAP: DSS2: Change remaining DISPC functions for new omap_channel argument
The following dispc functions are also changed to incorporate channel as an argument: -dispc_lclk_rate() -dispc_pclk_rate() -dispc_set_pol_freq() -dispc_set_clock_div() -dispc_get_clock_div() Signed-off-by: Sumit Semwal <sumit.semwal@ti.com> Signed-off-by: Mukund Mittal <mmittal@ti.com> Signed-off-by: Samreen <samreen@ti.com> Signed-off-by: Archit Taneja <archit@ti.com> [tomi.valkeinen@nokia.com: fixed trivial compile error] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/dss/dispc.c62
-rw-r--r--drivers/video/omap2/dss/dpi.c26
-rw-r--r--drivers/video/omap2/dss/dsi.c13
-rw-r--r--drivers/video/omap2/dss/dss.h13
-rw-r--r--drivers/video/omap2/dss/sdi.c8
5 files changed, 68 insertions, 54 deletions
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 7ca53c100419..5dfdf0ba409d 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -1444,12 +1444,13 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
1444 } 1444 }
1445} 1445}
1446 1446
1447static unsigned long calc_fclk_five_taps(u16 width, u16 height, 1447static unsigned long calc_fclk_five_taps(enum omap_channel channel, u16 width,
1448 u16 out_width, u16 out_height, enum omap_color_mode color_mode) 1448 u16 height, u16 out_width, u16 out_height,
1449 enum omap_color_mode color_mode)
1449{ 1450{
1450 u32 fclk = 0; 1451 u32 fclk = 0;
1451 /* FIXME venc pclk? */ 1452 /* FIXME venc pclk? */
1452 u64 tmp, pclk = dispc_pclk_rate(); 1453 u64 tmp, pclk = dispc_pclk_rate(channel);
1453 1454
1454 if (height > out_height) { 1455 if (height > out_height) {
1455 /* FIXME get real display PPL */ 1456 /* FIXME get real display PPL */
@@ -1481,8 +1482,8 @@ static unsigned long calc_fclk_five_taps(u16 width, u16 height,
1481 return fclk; 1482 return fclk;
1482} 1483}
1483 1484
1484static unsigned long calc_fclk(u16 width, u16 height, 1485static unsigned long calc_fclk(enum omap_channel channel, u16 width,
1485 u16 out_width, u16 out_height) 1486 u16 height, u16 out_width, u16 out_height)
1486{ 1487{
1487 unsigned int hf, vf; 1488 unsigned int hf, vf;
1488 1489
@@ -1506,7 +1507,7 @@ static unsigned long calc_fclk(u16 width, u16 height,
1506 vf = 1; 1507 vf = 1;
1507 1508
1508 /* FIXME venc pclk? */ 1509 /* FIXME venc pclk? */
1509 return dispc_pclk_rate() * vf * hf; 1510 return dispc_pclk_rate(channel) * vf * hf;
1510} 1511}
1511 1512
1512void dispc_set_channel_out(enum omap_plane plane, enum omap_channel channel_out) 1513void dispc_set_channel_out(enum omap_plane plane, enum omap_channel channel_out)
@@ -1582,7 +1583,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
1582 five_taps = height > out_height * 2; 1583 five_taps = height > out_height * 2;
1583 1584
1584 if (!five_taps) { 1585 if (!five_taps) {
1585 fclk = calc_fclk(width, height, 1586 fclk = calc_fclk(OMAP_DSS_CHANNEL_LCD, width, height,
1586 out_width, out_height); 1587 out_width, out_height);
1587 1588
1588 /* Try 5-tap filter if 3-tap fclk is too high */ 1589 /* Try 5-tap filter if 3-tap fclk is too high */
@@ -1597,8 +1598,9 @@ static int _dispc_setup_plane(enum omap_plane plane,
1597 } 1598 }
1598 1599
1599 if (five_taps) 1600 if (five_taps)
1600 fclk = calc_fclk_five_taps(width, height, 1601 fclk = calc_fclk_five_taps(OMAP_DSS_CHANNEL_LCD, width,
1601 out_width, out_height, color_mode); 1602 height, out_width, out_height,
1603 color_mode);
1602 1604
1603 DSSDBG("required fclk rate = %lu Hz\n", fclk); 1605 DSSDBG("required fclk rate = %lu Hz\n", fclk);
1604 DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate()); 1606 DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate());
@@ -2155,13 +2157,14 @@ void dispc_set_lcd_timings(enum omap_channel channel,
2155 DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt); 2157 DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
2156} 2158}
2157 2159
2158static void dispc_set_lcd_divisor(u16 lck_div, u16 pck_div) 2160static void dispc_set_lcd_divisor(enum omap_channel channel, u16 lck_div,
2161 u16 pck_div)
2159{ 2162{
2160 BUG_ON(lck_div < 1); 2163 BUG_ON(lck_div < 1);
2161 BUG_ON(pck_div < 2); 2164 BUG_ON(pck_div < 2);
2162 2165
2163 enable_clocks(1); 2166 enable_clocks(1);
2164 dispc_write_reg(DISPC_DIVISOR(OMAP_DSS_CHANNEL_LCD), 2167 dispc_write_reg(DISPC_DIVISOR(channel),
2165 FLD_VAL(lck_div, 23, 16) | FLD_VAL(pck_div, 7, 0)); 2168 FLD_VAL(lck_div, 23, 16) | FLD_VAL(pck_div, 7, 0));
2166 enable_clocks(0); 2169 enable_clocks(0);
2167} 2170}
@@ -2189,13 +2192,13 @@ unsigned long dispc_fclk_rate(void)
2189 return r; 2192 return r;
2190} 2193}
2191 2194
2192unsigned long dispc_lclk_rate(void) 2195unsigned long dispc_lclk_rate(enum omap_channel channel)
2193{ 2196{
2194 int lcd; 2197 int lcd;
2195 unsigned long r; 2198 unsigned long r;
2196 u32 l; 2199 u32 l;
2197 2200
2198 l = dispc_read_reg(DISPC_DIVISOR(OMAP_DSS_CHANNEL_LCD)); 2201 l = dispc_read_reg(DISPC_DIVISOR(channel));
2199 2202
2200 lcd = FLD_GET(l, 23, 16); 2203 lcd = FLD_GET(l, 23, 16);
2201 2204
@@ -2204,13 +2207,13 @@ unsigned long dispc_lclk_rate(void)
2204 return r / lcd; 2207 return r / lcd;
2205} 2208}
2206 2209
2207unsigned long dispc_pclk_rate(void) 2210unsigned long dispc_pclk_rate(enum omap_channel channel)
2208{ 2211{
2209 int lcd, pcd; 2212 int lcd, pcd;
2210 unsigned long r; 2213 unsigned long r;
2211 u32 l; 2214 u32 l;
2212 2215
2213 l = dispc_read_reg(DISPC_DIVISOR(OMAP_DSS_CHANNEL_LCD)); 2216 l = dispc_read_reg(DISPC_DIVISOR(channel));
2214 2217
2215 lcd = FLD_GET(l, 23, 16); 2218 lcd = FLD_GET(l, 23, 16);
2216 pcd = FLD_GET(l, 7, 0); 2219 pcd = FLD_GET(l, 7, 0);
@@ -2235,8 +2238,10 @@ void dispc_dump_clocks(struct seq_file *s)
2235 "dss1_alwon_fclk" : "dsi1_pll_fclk"); 2238 "dss1_alwon_fclk" : "dsi1_pll_fclk");
2236 2239
2237 seq_printf(s, "fck\t\t%-16lu\n", dispc_fclk_rate()); 2240 seq_printf(s, "fck\t\t%-16lu\n", dispc_fclk_rate());
2238 seq_printf(s, "lck\t\t%-16lulck div\t%u\n", dispc_lclk_rate(), lcd); 2241 seq_printf(s, "lck\t\t%-16lulck div\t%u\n",
2239 seq_printf(s, "pck\t\t%-16lupck div\t%u\n", dispc_pclk_rate(), pcd); 2242 dispc_lclk_rate(OMAP_DSS_CHANNEL_LCD), lcd);
2243 seq_printf(s, "pck\t\t%-16lupck div\t%u\n",
2244 dispc_pclk_rate(OMAP_DSS_CHANNEL_LCD), pcd);
2240 2245
2241 enable_clocks(0); 2246 enable_clocks(0);
2242} 2247}
@@ -2428,8 +2433,8 @@ void dispc_dump_regs(struct seq_file *s)
2428#undef DUMPREG 2433#undef DUMPREG
2429} 2434}
2430 2435
2431static void _dispc_set_pol_freq(bool onoff, bool rf, bool ieo, bool ipc, 2436static void _dispc_set_pol_freq(enum omap_channel channel, bool onoff, bool rf,
2432 bool ihs, bool ivs, u8 acbi, u8 acb) 2437 bool ieo, bool ipc, bool ihs, bool ivs, u8 acbi, u8 acb)
2433{ 2438{
2434 u32 l = 0; 2439 u32 l = 0;
2435 2440
@@ -2446,13 +2451,14 @@ static void _dispc_set_pol_freq(bool onoff, bool rf, bool ieo, bool ipc,
2446 l |= FLD_VAL(acb, 7, 0); 2451 l |= FLD_VAL(acb, 7, 0);
2447 2452
2448 enable_clocks(1); 2453 enable_clocks(1);
2449 dispc_write_reg(DISPC_POL_FREQ(OMAP_DSS_CHANNEL_LCD), l); 2454 dispc_write_reg(DISPC_POL_FREQ(channel), l);
2450 enable_clocks(0); 2455 enable_clocks(0);
2451} 2456}
2452 2457
2453void dispc_set_pol_freq(enum omap_panel_config config, u8 acbi, u8 acb) 2458void dispc_set_pol_freq(enum omap_channel channel,
2459 enum omap_panel_config config, u8 acbi, u8 acb)
2454{ 2460{
2455 _dispc_set_pol_freq((config & OMAP_DSS_LCD_ONOFF) != 0, 2461 _dispc_set_pol_freq(channel, (config & OMAP_DSS_LCD_ONOFF) != 0,
2456 (config & OMAP_DSS_LCD_RF) != 0, 2462 (config & OMAP_DSS_LCD_RF) != 0,
2457 (config & OMAP_DSS_LCD_IEO) != 0, 2463 (config & OMAP_DSS_LCD_IEO) != 0,
2458 (config & OMAP_DSS_LCD_IPC) != 0, 2464 (config & OMAP_DSS_LCD_IPC) != 0,
@@ -2521,24 +2527,26 @@ int dispc_calc_clock_rates(unsigned long dispc_fclk_rate,
2521 return 0; 2527 return 0;
2522} 2528}
2523 2529
2524int dispc_set_clock_div(struct dispc_clock_info *cinfo) 2530int dispc_set_clock_div(enum omap_channel channel,
2531 struct dispc_clock_info *cinfo)
2525{ 2532{
2526 DSSDBG("lck = %lu (%u)\n", cinfo->lck, cinfo->lck_div); 2533 DSSDBG("lck = %lu (%u)\n", cinfo->lck, cinfo->lck_div);
2527 DSSDBG("pck = %lu (%u)\n", cinfo->pck, cinfo->pck_div); 2534 DSSDBG("pck = %lu (%u)\n", cinfo->pck, cinfo->pck_div);
2528 2535
2529 dispc_set_lcd_divisor(cinfo->lck_div, cinfo->pck_div); 2536 dispc_set_lcd_divisor(channel, cinfo->lck_div, cinfo->pck_div);
2530 2537
2531 return 0; 2538 return 0;
2532} 2539}
2533 2540
2534int dispc_get_clock_div(struct dispc_clock_info *cinfo) 2541int dispc_get_clock_div(enum omap_channel channel,
2542 struct dispc_clock_info *cinfo)
2535{ 2543{
2536 unsigned long fck; 2544 unsigned long fck;
2537 2545
2538 fck = dispc_fclk_rate(); 2546 fck = dispc_fclk_rate();
2539 2547
2540 cinfo->lck_div = REG_GET(DISPC_DIVISOR(OMAP_DSS_CHANNEL_LCD), 23, 16); 2548 cinfo->lck_div = REG_GET(DISPC_DIVISOR(channel), 23, 16);
2541 cinfo->pck_div = REG_GET(DISPC_DIVISOR(OMAP_DSS_CHANNEL_LCD), 7, 0); 2549 cinfo->pck_div = REG_GET(DISPC_DIVISOR(channel), 7, 0);
2542 2550
2543 cinfo->lck = fck / cinfo->lck_div; 2551 cinfo->lck = fck / cinfo->lck_div;
2544 cinfo->pck = cinfo->lck / cinfo->pck_div; 2552 cinfo->pck = cinfo->lck / cinfo->pck_div;
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 08b497f924bb..8c61e87629b3 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -40,8 +40,9 @@ static struct {
40} dpi; 40} dpi;
41 41
42#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL 42#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
43static int dpi_set_dsi_clk(bool is_tft, unsigned long pck_req, 43static int dpi_set_dsi_clk(struct omap_dss_device *dssdev, bool is_tft,
44 unsigned long *fck, int *lck_div, int *pck_div) 44 unsigned long pck_req, unsigned long *fck, int *lck_div,
45 int *pck_div)
45{ 46{
46 struct dsi_clock_info dsi_cinfo; 47 struct dsi_clock_info dsi_cinfo;
47 struct dispc_clock_info dispc_cinfo; 48 struct dispc_clock_info dispc_cinfo;
@@ -58,7 +59,7 @@ static int dpi_set_dsi_clk(bool is_tft, unsigned long pck_req,
58 59
59 dss_select_dispc_clk_source(DSS_SRC_DSI1_PLL_FCLK); 60 dss_select_dispc_clk_source(DSS_SRC_DSI1_PLL_FCLK);
60 61
61 r = dispc_set_clock_div(&dispc_cinfo); 62 r = dispc_set_clock_div(dssdev->manager->id, &dispc_cinfo);
62 if (r) 63 if (r)
63 return r; 64 return r;
64 65
@@ -69,8 +70,9 @@ static int dpi_set_dsi_clk(bool is_tft, unsigned long pck_req,
69 return 0; 70 return 0;
70} 71}
71#else 72#else
72static int dpi_set_dispc_clk(bool is_tft, unsigned long pck_req, 73static int dpi_set_dispc_clk(struct omap_dss_device *dssdev, bool is_tft,
73 unsigned long *fck, int *lck_div, int *pck_div) 74 unsigned long pck_req, unsigned long *fck, int *lck_div,
75 int *pck_div)
74{ 76{
75 struct dss_clock_info dss_cinfo; 77 struct dss_clock_info dss_cinfo;
76 struct dispc_clock_info dispc_cinfo; 78 struct dispc_clock_info dispc_cinfo;
@@ -84,7 +86,7 @@ static int dpi_set_dispc_clk(bool is_tft, unsigned long pck_req,
84 if (r) 86 if (r)
85 return r; 87 return r;
86 88
87 r = dispc_set_clock_div(&dispc_cinfo); 89 r = dispc_set_clock_div(dssdev->manager->id, &dispc_cinfo);
88 if (r) 90 if (r)
89 return r; 91 return r;
90 92
@@ -107,17 +109,17 @@ static int dpi_set_mode(struct omap_dss_device *dssdev)
107 109
108 dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1); 110 dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
109 111
110 dispc_set_pol_freq(dssdev->panel.config, dssdev->panel.acbi, 112 dispc_set_pol_freq(dssdev->manager->id, dssdev->panel.config,
111 dssdev->panel.acb); 113 dssdev->panel.acbi, dssdev->panel.acb);
112 114
113 is_tft = (dssdev->panel.config & OMAP_DSS_LCD_TFT) != 0; 115 is_tft = (dssdev->panel.config & OMAP_DSS_LCD_TFT) != 0;
114 116
115#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL 117#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
116 r = dpi_set_dsi_clk(is_tft, t->pixel_clock * 1000, 118 r = dpi_set_dsi_clk(dssdev, is_tft, t->pixel_clock * 1000, &fck,
117 &fck, &lck_div, &pck_div); 119 &lck_div, &pck_div);
118#else 120#else
119 r = dpi_set_dispc_clk(is_tft, t->pixel_clock * 1000, 121 r = dpi_set_dispc_clk(dssdev, is_tft, t->pixel_clock * 1000, &fck,
120 &fck, &lck_div, &pck_div); 122 &lck_div, &pck_div);
121#endif 123#endif
122 if (r) 124 if (r)
123 goto err0; 125 goto err0;
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index acd36cad8445..ddf3a0560822 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -792,7 +792,8 @@ static int dsi_pll_power(enum dsi_pll_power_state state)
792} 792}
793 793
794/* calculate clock rates using dividers in cinfo */ 794/* calculate clock rates using dividers in cinfo */
795static int dsi_calc_clock_rates(struct dsi_clock_info *cinfo) 795static int dsi_calc_clock_rates(struct omap_dss_device *dssdev,
796 struct dsi_clock_info *cinfo)
796{ 797{
797 if (cinfo->regn == 0 || cinfo->regn > REGN_MAX) 798 if (cinfo->regn == 0 || cinfo->regn > REGN_MAX)
798 return -EINVAL; 799 return -EINVAL;
@@ -812,7 +813,7 @@ static int dsi_calc_clock_rates(struct dsi_clock_info *cinfo)
812 * with DSS2_FCK source also */ 813 * with DSS2_FCK source also */
813 cinfo->highfreq = 0; 814 cinfo->highfreq = 0;
814 } else { 815 } else {
815 cinfo->clkin = dispc_pclk_rate(); 816 cinfo->clkin = dispc_pclk_rate(dssdev->manager->id);
816 817
817 if (cinfo->clkin < 32000000) 818 if (cinfo->clkin < 32000000)
818 cinfo->highfreq = 0; 819 cinfo->highfreq = 0;
@@ -1206,8 +1207,8 @@ void dsi_dump_clocks(struct seq_file *s)
1206 1207
1207 seq_printf(s, "VP_CLK\t\t%lu\n" 1208 seq_printf(s, "VP_CLK\t\t%lu\n"
1208 "VP_PCLK\t\t%lu\n", 1209 "VP_PCLK\t\t%lu\n",
1209 dispc_lclk_rate(), 1210 dispc_lclk_rate(OMAP_DSS_CHANNEL_LCD),
1210 dispc_pclk_rate()); 1211 dispc_pclk_rate(OMAP_DSS_CHANNEL_LCD));
1211 1212
1212 enable_clocks(0); 1213 enable_clocks(0);
1213} 1214}
@@ -2989,7 +2990,7 @@ static int dsi_configure_dsi_clocks(struct omap_dss_device *dssdev)
2989 cinfo.regm = dssdev->phy.dsi.div.regm; 2990 cinfo.regm = dssdev->phy.dsi.div.regm;
2990 cinfo.regm3 = dssdev->phy.dsi.div.regm3; 2991 cinfo.regm3 = dssdev->phy.dsi.div.regm3;
2991 cinfo.regm4 = dssdev->phy.dsi.div.regm4; 2992 cinfo.regm4 = dssdev->phy.dsi.div.regm4;
2992 r = dsi_calc_clock_rates(&cinfo); 2993 r = dsi_calc_clock_rates(dssdev, &cinfo);
2993 if (r) { 2994 if (r) {
2994 DSSERR("Failed to calc dsi clocks\n"); 2995 DSSERR("Failed to calc dsi clocks\n");
2995 return r; 2996 return r;
@@ -3021,7 +3022,7 @@ static int dsi_configure_dispc_clocks(struct omap_dss_device *dssdev)
3021 return r; 3022 return r;
3022 } 3023 }
3023 3024
3024 r = dispc_set_clock_div(&dispc_cinfo); 3025 r = dispc_set_clock_div(dssdev->manager->id, &dispc_cinfo);
3025 if (r) { 3026 if (r) {
3026 DSSERR("Failed to set dispc clocks\n"); 3027 DSSERR("Failed to set dispc clocks\n");
3027 return r; 3028 return r;
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 275e29067372..3fcb8ab781af 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -393,15 +393,18 @@ bool dispc_lcd_timings_ok(struct omap_video_timings *timings);
393void dispc_set_lcd_timings(enum omap_channel channel, 393void dispc_set_lcd_timings(enum omap_channel channel,
394 struct omap_video_timings *timings); 394 struct omap_video_timings *timings);
395unsigned long dispc_fclk_rate(void); 395unsigned long dispc_fclk_rate(void);
396unsigned long dispc_lclk_rate(void); 396unsigned long dispc_lclk_rate(enum omap_channel channel);
397unsigned long dispc_pclk_rate(void); 397unsigned long dispc_pclk_rate(enum omap_channel channel);
398void dispc_set_pol_freq(enum omap_panel_config config, u8 acbi, u8 acb); 398void dispc_set_pol_freq(enum omap_channel channel,
399 enum omap_panel_config config, u8 acbi, u8 acb);
399void dispc_find_clk_divs(bool is_tft, unsigned long req_pck, unsigned long fck, 400void dispc_find_clk_divs(bool is_tft, unsigned long req_pck, unsigned long fck,
400 struct dispc_clock_info *cinfo); 401 struct dispc_clock_info *cinfo);
401int dispc_calc_clock_rates(unsigned long dispc_fclk_rate, 402int dispc_calc_clock_rates(unsigned long dispc_fclk_rate,
402 struct dispc_clock_info *cinfo); 403 struct dispc_clock_info *cinfo);
403int dispc_set_clock_div(struct dispc_clock_info *cinfo); 404int dispc_set_clock_div(enum omap_channel channel,
404int dispc_get_clock_div(struct dispc_clock_info *cinfo); 405 struct dispc_clock_info *cinfo);
406int dispc_get_clock_div(enum omap_channel channel,
407 struct dispc_clock_info *cinfo);
405 408
406 409
407/* VENC */ 410/* VENC */
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
index 19443b18f3da..b64adf7dfc88 100644
--- a/drivers/video/omap2/dss/sdi.c
+++ b/drivers/video/omap2/dss/sdi.c
@@ -77,15 +77,15 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
77 /* 15.5.9.1.2 */ 77 /* 15.5.9.1.2 */
78 dssdev->panel.config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF; 78 dssdev->panel.config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF;
79 79
80 dispc_set_pol_freq(dssdev->panel.config, dssdev->panel.acbi, 80 dispc_set_pol_freq(dssdev->manager->id, dssdev->panel.config,
81 dssdev->panel.acb); 81 dssdev->panel.acbi, dssdev->panel.acb);
82 82
83 if (!sdi.skip_init) { 83 if (!sdi.skip_init) {
84 r = dss_calc_clock_div(1, t->pixel_clock * 1000, 84 r = dss_calc_clock_div(1, t->pixel_clock * 1000,
85 &dss_cinfo, &dispc_cinfo); 85 &dss_cinfo, &dispc_cinfo);
86 } else { 86 } else {
87 r = dss_get_clock_div(&dss_cinfo); 87 r = dss_get_clock_div(&dss_cinfo);
88 r = dispc_get_clock_div(&dispc_cinfo); 88 r = dispc_get_clock_div(dssdev->manager->id, &dispc_cinfo);
89 } 89 }
90 90
91 if (r) 91 if (r)
@@ -112,7 +112,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
112 if (r) 112 if (r)
113 goto err2; 113 goto err2;
114 114
115 r = dispc_set_clock_div(&dispc_cinfo); 115 r = dispc_set_clock_div(dssdev->manager->id, &dispc_cinfo);
116 if (r) 116 if (r)
117 goto err2; 117 goto err2;
118 118