aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dispc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/omap2/dss/dispc.c')
-rw-r--r--drivers/video/omap2/dss/dispc.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 6171bcc589f..9f8c69f16e6 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -1610,8 +1610,8 @@ static int _dispc_setup_plane(enum omap_plane plane,
1610 bool ilace, 1610 bool ilace,
1611 enum omap_dss_rotation_type rotation_type, 1611 enum omap_dss_rotation_type rotation_type,
1612 u8 rotation, int mirror, 1612 u8 rotation, int mirror,
1613 u8 global_alpha, 1613 u8 global_alpha, u8 pre_mult_alpha,
1614 u8 pre_mult_alpha) 1614 enum omap_channel channel)
1615{ 1615{
1616 const int maxdownscale = cpu_is_omap34xx() ? 4 : 2; 1616 const int maxdownscale = cpu_is_omap34xx() ? 4 : 2;
1617 bool five_taps = 0; 1617 bool five_taps = 0;
@@ -1667,8 +1667,8 @@ static int _dispc_setup_plane(enum omap_plane plane,
1667 five_taps = height > out_height * 2; 1667 five_taps = height > out_height * 2;
1668 1668
1669 if (!five_taps) { 1669 if (!five_taps) {
1670 fclk = calc_fclk(OMAP_DSS_CHANNEL_LCD, width, height, 1670 fclk = calc_fclk(channel, width, height, out_width,
1671 out_width, out_height); 1671 out_height);
1672 1672
1673 /* Try 5-tap filter if 3-tap fclk is too high */ 1673 /* Try 5-tap filter if 3-tap fclk is too high */
1674 if (cpu_is_omap34xx() && height > out_height && 1674 if (cpu_is_omap34xx() && height > out_height &&
@@ -1682,9 +1682,8 @@ static int _dispc_setup_plane(enum omap_plane plane,
1682 } 1682 }
1683 1683
1684 if (five_taps) 1684 if (five_taps)
1685 fclk = calc_fclk_five_taps(OMAP_DSS_CHANNEL_LCD, width, 1685 fclk = calc_fclk_five_taps(channel, width, height,
1686 height, out_width, out_height, 1686 out_width, out_height, color_mode);
1687 color_mode);
1688 1687
1689 DSSDBG("required fclk rate = %lu Hz\n", fclk); 1688 DSSDBG("required fclk rate = %lu Hz\n", fclk);
1690 DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate()); 1689 DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate());
@@ -3331,17 +3330,17 @@ int dispc_setup_plane(enum omap_plane plane,
3331 bool ilace, 3330 bool ilace,
3332 enum omap_dss_rotation_type rotation_type, 3331 enum omap_dss_rotation_type rotation_type,
3333 u8 rotation, bool mirror, u8 global_alpha, 3332 u8 rotation, bool mirror, u8 global_alpha,
3334 u8 pre_mult_alpha) 3333 u8 pre_mult_alpha, enum omap_channel channel)
3335{ 3334{
3336 int r = 0; 3335 int r = 0;
3337 3336
3338 DSSDBG("dispc_setup_plane %d, pa %x, sw %d, %d,%d, %dx%d -> " 3337 DSSDBG("dispc_setup_plane %d, pa %x, sw %d, %d,%d, %dx%d -> "
3339 "%dx%d, ilace %d, cmode %x, rot %d, mir %d\n", 3338 "%dx%d, ilace %d, cmode %x, rot %d, mir %d chan %d\n",
3340 plane, paddr, screen_width, pos_x, pos_y, 3339 plane, paddr, screen_width, pos_x, pos_y,
3341 width, height, 3340 width, height,
3342 out_width, out_height, 3341 out_width, out_height,
3343 ilace, color_mode, 3342 ilace, color_mode,
3344 rotation, mirror); 3343 rotation, mirror, channel);
3345 3344
3346 enable_clocks(1); 3345 enable_clocks(1);
3347 3346
@@ -3354,7 +3353,7 @@ int dispc_setup_plane(enum omap_plane plane,
3354 rotation_type, 3353 rotation_type,
3355 rotation, mirror, 3354 rotation, mirror,
3356 global_alpha, 3355 global_alpha,
3357 pre_mult_alpha); 3356 pre_mult_alpha, channel);
3358 3357
3359 enable_clocks(0); 3358 enable_clocks(0);
3360 3359