mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
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:
parent
816adc29f5
commit
456b8170a0
2 changed files with 12 additions and 3 deletions
|
@ -43,6 +43,7 @@
|
||||||
#include "mdp4.h"
|
#include "mdp4.h"
|
||||||
#endif
|
#endif
|
||||||
#include "mipi_dsi.h"
|
#include "mipi_dsi.h"
|
||||||
|
#include <mach/board_asustek.h>
|
||||||
|
|
||||||
uint32 mdp4_extn_disp;
|
uint32 mdp4_extn_disp;
|
||||||
|
|
||||||
|
@ -2528,6 +2529,8 @@ static int mdp_bus_scale_register(void)
|
||||||
static int bus_index = 1;
|
static int bus_index = 1;
|
||||||
int mdp_bus_scale_update_request(u64 ab, u64 ib)
|
int mdp_bus_scale_update_request(u64 ab, u64 ib)
|
||||||
{
|
{
|
||||||
|
lcd_type type = asustek_get_lcd_type();
|
||||||
|
|
||||||
if (mdp_bus_scale_handle < 1) {
|
if (mdp_bus_scale_handle < 1) {
|
||||||
pr_err("%s invalid bus handle\n", __func__);
|
pr_err("%s invalid bus handle\n", __func__);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -2541,9 +2544,15 @@ int mdp_bus_scale_update_request(u64 ab, u64 ib)
|
||||||
bus_index++;
|
bus_index++;
|
||||||
bus_index = (bus_index > 2) ? 1 : bus_index;
|
bus_index = (bus_index > 2) ? 1 : bus_index;
|
||||||
|
|
||||||
mdp_bus_usecases[bus_index].vectors->ab = min(ab, mdp_max_bw);
|
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);
|
ib = max(ib, ab);
|
||||||
mdp_bus_usecases[bus_index].vectors->ib = min(ib, mdp_max_bw);
|
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__,
|
pr_debug("%s: handle=%d index=%d ab=%llu ib=%llu\n", __func__,
|
||||||
(u32)mdp_bus_scale_handle, bus_index,
|
(u32)mdp_bus_scale_handle, bus_index,
|
||||||
|
|
|
@ -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.eof_bllp_power_stop = TRUE; //false means keep in HS mode when vertical blank period
|
||||||
pinfo.mipi.bllp_power_stop = TRUE;
|
pinfo.mipi.bllp_power_stop = TRUE;
|
||||||
pinfo.mipi.traffic_mode = DSI_NON_BURST_SYNCH_EVENT;
|
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.force_clk_lane_hs = 1; //1: continuous clock
|
||||||
|
|
||||||
pinfo.mipi.dst_format = DSI_VIDEO_DST_FORMAT_RGB888;
|
pinfo.mipi.dst_format = DSI_VIDEO_DST_FORMAT_RGB888;
|
||||||
|
|
Loading…
Reference in a new issue