Merge changes I782cda58,I71da0c8b,Ib22ebc43 into cm-11.0

* changes:
  panel: samsung-octa: flash hot pink for underruns
  jf: mdp: fix mdp bandwidth
  msm_fb: display: get mdp bandwidth parameters from board file
This commit is contained in:
Dan Pasanen 2014-08-17 01:44:58 +00:00 committed by Gerrit Code Review
commit ed434951b6
5 changed files with 27 additions and 15 deletions

View File

@ -272,9 +272,9 @@ static struct msm_bus_scale_pdata mdp_bus_scale_pdata = {
static struct msm_panel_common_pdata mdp_pdata = {
.gpio = MDP_VSYNC_GPIO,
.mdp_max_clk = 266667000,
.mdp_max_bw = 2000000000,
.mdp_bw_ab_factor = 115,
.mdp_bw_ib_factor = 150,
.mdp_max_bw = 4290000000u,
.mdp_bw_ab_factor = 230,
.mdp_bw_ib_factor = 250,
.mdp_bus_scale_table = &mdp_bus_scale_pdata,
.mdp_rev = MDP_REV_44,
#ifdef CONFIG_MSM_MULTIMEDIA_USE_ION

View File

@ -72,7 +72,8 @@ int mdp_rev;
int mdp_iommu_split_domain;
u32 mdp_max_clk = 266667000;
u64 mdp_max_bw = 3080000000UL;
u32 mdp_bw_ab_factor = MDP4_BW_AB_DEFAULT_FACTOR;
u32 mdp_bw_ib_factor = MDP4_BW_IB_DEFAULT_FACTOR;
static struct platform_device *mdp_init_pdev;
static struct regulator *footswitch, *dsi_pll_vdda, *dsi_pll_vddio;
static unsigned int mdp_footswitch_on;
@ -2860,6 +2861,13 @@ static int mdp_probe(struct platform_device *pdev)
return -ENOMEM;
}
if (mdp_pdata->mdp_max_bw)
mdp_max_bw = mdp_pdata->mdp_max_bw;
if (mdp_pdata->mdp_bw_ab_factor)
mdp_bw_ab_factor = mdp_pdata->mdp_bw_ab_factor;
if (mdp_pdata->mdp_bw_ib_factor)
mdp_bw_ib_factor = mdp_pdata->mdp_bw_ib_factor;
mdp_rev = mdp_pdata->mdp_rev;
mdp_iommu_split_domain = mdp_pdata->mdp_iommu_split_domain;

View File

@ -34,8 +34,10 @@ extern u64 mdp_max_bw;
extern u32 mdp_bw_ab_factor;
extern u32 mdp_bw_ib_factor;
extern u32 mdp_iommu_max_map_size;
#define MDP4_BW_AB_FACTOR (200) /* 2.00 */
#define MDP4_BW_IB_FACTOR (210) /* 2.10 */
#define MDP4_BW_AB_DEFAULT_FACTOR (200) /* 2.00 */
#define MDP4_BW_IB_DEFAULT_FACTOR (210) /* 2.10 */
#define MDP_BUS_SCALE_AB_STEP (0x4000000)
#define MDP4_OVERLAYPROC0_BASE 0x10000

View File

@ -3107,10 +3107,12 @@ static int mdp4_calc_pipe_mdp_bw(struct msm_fb_data_type *mfd,
quota = pipe->src_w * pipe->src_h * fps * pipe->bpp;
quota >>= shift;
/* factor 1.15 for ab */
pipe->bw_ab_quota = quota * MDP4_BW_AB_FACTOR / 100;
/* factor 1.25 for ib */
pipe->bw_ib_quota = quota * MDP4_BW_IB_FACTOR / 100;
pipe->bw_ab_quota = quota * mdp_bw_ab_factor / 100;
pipe->bw_ib_quota = quota * mdp_bw_ib_factor / 100;
pr_debug("%s max_bw=%llu ab_factor=%d ib_factor=%d\n", __func__,
mdp_max_bw, mdp_bw_ab_factor, mdp_bw_ib_factor);
/* down scaling factor for ib */
if ((pipe->dst_h) && (pipe->src_h) &&
(pipe->src_h > pipe->dst_h)) {
@ -3161,10 +3163,10 @@ int mdp4_calc_blt_mdp_bw(struct msm_fb_data_type *mfd,
quota >>= shift;
perf_req->mdp_ov_ab_bw[pipe->mixer_num] =
quota * MDP4_BW_AB_FACTOR / 100;
quota * mdp_bw_ab_factor / 100;
perf_req->mdp_ov_ib_bw[pipe->mixer_num] =
quota * MDP4_BW_IB_FACTOR / 100;
quota * mdp_bw_ib_factor / 100;
perf_req->mdp_ov_ab_bw[pipe->mixer_num] <<= shift;
perf_req->mdp_ov_ib_bw[pipe->mixer_num] <<= shift;
@ -3360,9 +3362,9 @@ int mdp4_overlay_mdp_perf_req(struct msm_fb_data_type *mfd,
if(minimum_ab == 0 ||minimum_ib == 0){
minimum_ab = (1920*1080*4*60)>>16;
minimum_ab = (minimum_ab*MDP4_BW_AB_FACTOR/100)<<16;
minimum_ab = (minimum_ab * (u64)(mdp_bw_ab_factor / 100)) << 16;
minimum_ib = (1920*1080*4*60)>>16;
minimum_ib = (minimum_ib*MDP4_BW_IB_FACTOR/100)<<16;
minimum_ib = (minimum_ib * (u64)(mdp_bw_ib_factor / 100)) << 16;
}
/*

View File

@ -2028,7 +2028,7 @@ static int __init mipi_video_samsung_octa_full_hd_pt_init(void)
pinfo.lcdc.v_pulse_width = 2;
pinfo.lcdc.border_clr = 0; /* blk */
pinfo.lcdc.underflow_clr = 0x0; /* black */
pinfo.lcdc.underflow_clr = 0xff1493; /* hot pink */
pinfo.lcdc.hsync_skew = 0;
pinfo.bl_max = 255;