diff options
Diffstat (limited to 'drivers/video/omap2/dss/dispc.c')
-rw-r--r-- | drivers/video/omap2/dss/dispc.c | 21 |
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 | ||