Display: fix blue screen issue (underrun)

1. set fps back to 60 for LG panel
for panasonic panel, set to fps 60 still have underrun

2. hard code ab, ib (memory clock) to max for mipi video mode panel
because the priority of display is not high enough, the bandwidth may be robbed by others
for JDI mipi command mode panel, there may not be underrun issue because the panel has framebuffer itself

Change-Id: Id95c56ecf570a7cae8db37eede0b3555b3186bd5
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69094
Reviewed-by: Yetta Wu <Yetta_Wu@asus.com>
Tested-by: Yetta Wu <Yetta_Wu@asus.com>
Reviewed-by: Warlock Tai <warlock_tai@asus.com>
This commit is contained in:
yetta_wu 2013-02-20 15:57:35 +08:00 committed by Iliyan Malchev
parent 816adc29f5
commit 456b8170a0
2 changed files with 12 additions and 3 deletions

View file

@ -43,6 +43,7 @@
#include "mdp4.h"
#endif
#include "mipi_dsi.h"
#include <mach/board_asustek.h>
uint32 mdp4_extn_disp;
@ -2528,6 +2529,8 @@ static int mdp_bus_scale_register(void)
static int bus_index = 1;
int mdp_bus_scale_update_request(u64 ab, u64 ib)
{
lcd_type type = asustek_get_lcd_type();
if (mdp_bus_scale_handle < 1) {
pr_err("%s invalid bus handle\n", __func__);
return -EINVAL;
@ -2541,9 +2544,15 @@ int mdp_bus_scale_update_request(u64 ab, u64 ib)
bus_index++;
bus_index = (bus_index > 2) ? 1 : bus_index;
if (type==0) //keep original ab, ib calculation for JDI panel
mdp_bus_usecases[bus_index].vectors->ab = min(ab, mdp_max_bw);
else
mdp_bus_usecases[bus_index].vectors->ab = mdp_max_bw;
ib = max(ib, ab);
if (type==0) //keep original ab, ib calculation for JDI panel
mdp_bus_usecases[bus_index].vectors->ib = min(ib, mdp_max_bw);
else
mdp_bus_usecases[bus_index].vectors->ib = mdp_max_bw;
pr_debug("%s: handle=%d index=%d ab=%llu ib=%llu\n", __func__,
(u32)mdp_bus_scale_handle, bus_index,

View file

@ -97,7 +97,7 @@ static int __init mipi_lg_1080P_pt_init(void)
pinfo.mipi.eof_bllp_power_stop = TRUE; //false means keep in HS mode when vertical blank period
pinfo.mipi.bllp_power_stop = TRUE;
pinfo.mipi.traffic_mode = DSI_NON_BURST_SYNCH_EVENT;
pinfo.mipi.frame_rate = 50; //60; //should be in the range 58~62
pinfo.mipi.frame_rate = 60; //should be in the range 58~62
pinfo.mipi.force_clk_lane_hs = 1; //1: continuous clock
pinfo.mipi.dst_format = DSI_VIDEO_DST_FORMAT_RGB888;