summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngrid Gallardo <ingridg@codeaurora.org>2015-09-30 11:45:14 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:46:47 -0700
commitf337093cab2d6ac0e8ee65a84817cfacb7a5920e (patch)
tree354ac1ea2b393fbbdafa23c0f1e7e98c88a47da7
parent9195e150a37b2505108ff2ba850a939a7f83f239 (diff)
msm: mdss: add xlog for dynamic fps
Add xlog entries to debug dynamic fps. Change-Id: I1ba1c9ed6d746d26d77b2805d6c812a1986b60e9 Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi.c3
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c2
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_intf_video.c16
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c1
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c3
5 files changed, 24 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c
index 009a172d658b..359bafebe40f 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.c
+++ b/drivers/video/fbdev/msm/mdss_dsi.c
@@ -1611,7 +1611,10 @@ static void __mdss_dsi_update_video_mode_total(struct mdss_panel_data *pdata,
if (ctrl_pdata->shared_data->timing_db_mode)
MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x1e4, 0x1);
+
ctrl_pdata->panel_data.panel_info.mipi.frame_rate = new_fps;
+ MDSS_XLOG(current_dsi_v_total, new_dsi_v_total, new_fps,
+ ctrl_pdata->shared_data->timing_db_mode);
}
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index df5d32ebb430..9f403b4de8aa 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -4594,7 +4594,7 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
sctl_flush_bits);
sctl->flush_bits = 0;
}
- MDSS_XLOG(ctl_flush_bits, sctl_flush_bits);
+ MDSS_XLOG(ctl->intf_num, ctl_flush_bits, sctl_flush_bits);
wmb();
ctl->flush_reg_data = ctl_flush_bits;
ctl->flush_bits = 0;
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_video.c b/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
index 07f949b6650d..7af95a043547 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
@@ -245,6 +245,9 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl,
vsync_period = p->vsync_pulse_width + p->v_back_porch +
p->height + p->v_front_porch;
+ MDSS_XLOG(p->vsync_pulse_width, p->v_back_porch,
+ p->height, p->v_front_porch);
+
display_v_start = ((p->vsync_pulse_width + p->v_back_porch) *
hsync_period) + p->hsync_skew;
display_v_end = ((vsync_period - p->v_front_porch) * hsync_period) +
@@ -328,6 +331,7 @@ static int mdss_mdp_video_timegen_setup(struct mdss_mdp_ctl *ctl,
mdp_video_write(ctx, MDSS_MDP_REG_INTF_HSYNC_SKEW, p->hsync_skew);
mdp_video_write(ctx, MDSS_MDP_REG_INTF_POLARITY_CTL, polarity_ctl);
mdp_video_write(ctx, MDSS_MDP_REG_INTF_FRAME_LINE_COUNT_EN, 0x3);
+ MDSS_XLOG(hsync_period, vsync_period);
/*
* If CDM is present Interface should have destination
@@ -743,6 +747,7 @@ static int mdss_mdp_video_timegen_update(struct mdss_mdp_video_ctx *ctx,
mdp_video_write(ctx, MDSS_MDP_REG_INTF_DISPLAY_V_START_F0,
display_v_start);
mdp_video_write(ctx, MDSS_MDP_REG_INTF_DISPLAY_V_END_F0, display_v_end);
+ MDSS_XLOG(ctx->intf_num, hsync_ctl, vsync_period, hsync_period);
return 0;
}
@@ -804,6 +809,8 @@ static int mdss_mdp_video_vfp_fps_update(struct mdss_mdp_video_ctx *ctx,
mdp_video_write(ctx, MDSS_MDP_REG_INTF_VSYNC_PERIOD_F0,
new_vsync_period_f0 & 0x7fffff);
}
+ MDSS_XLOG(ctx->intf_num, current_vsync_period_f0,
+ hsync_period, vsync_period, new_vsync_period_f0);
return 0;
}
@@ -881,6 +888,7 @@ static void mdss_mdp_video_timegen_flush(struct mdss_mdp_ctl *ctl,
{
u32 ctl_flush;
struct mdss_data_type *mdata;
+
mdata = ctl->mdata;
ctl_flush = (BIT(31) >> (ctl->intf_num - MDSS_MDP_INTF0));
if (sctx) {
@@ -892,6 +900,7 @@ static void mdss_mdp_video_timegen_flush(struct mdss_mdp_ctl *ctl,
(sctx->intf_num - MDSS_MDP_INTF0));
}
mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, ctl_flush);
+ MDSS_XLOG(ctl->intf_num, sctx?sctx->intf_num:0xf00, ctl_flush);
}
/**
@@ -952,6 +961,8 @@ static int mdss_mdp_video_config_fps(struct mdss_mdp_ctl *ctl, int new_fps)
pr_debug("ctl:%d dfps_update:%d fps:%d\n",
ctl->num, pdata->panel_info.dfps_update, new_fps);
+ MDSS_XLOG(ctl->num, pdata->panel_info.dfps_update,
+ new_fps, XLOG_FUNC_ENTRY);
if (pdata->panel_info.dfps_update
!= DFPS_SUSPEND_RESUME_MODE) {
@@ -1064,6 +1075,7 @@ exit_dfps:
}
end:
+ MDSS_XLOG(ctl->num, new_fps, XLOG_FUNC_EXIT);
mutex_unlock(&ctl->offlock);
return rc;
}
@@ -1251,6 +1263,7 @@ static void mdss_mdp_fetch_end_config(struct mdss_mdp_video_ctx *ctx,
mdp_video_write(ctx, MDSS_MDP_REG_INTF_VBLANK_END_CONF, fetch_stop);
mdp_video_write(ctx, MDSS_MDP_REG_INTF_CONFIG, vblank_end_enable);
+ MDSS_XLOG(ctx->intf_num, fetch_stop, vblank_end_enable);
}
static void mdss_mdp_fetch_start_config(struct mdss_mdp_video_ctx *ctx,
@@ -1287,6 +1300,7 @@ static void mdss_mdp_fetch_start_config(struct mdss_mdp_video_ctx *ctx,
mdp_video_write(ctx, MDSS_MDP_REG_INTF_PROG_FETCH_START, fetch_start);
mdp_video_write(ctx, MDSS_MDP_REG_INTF_CONFIG, fetch_enable);
+ MDSS_XLOG(ctx->intf_num, fetch_enable, fetch_start);
}
static inline bool mdss_mdp_video_need_pixel_drop(u32 vic)
@@ -1361,6 +1375,8 @@ static void mdss_mdp_handoff_programmable_fetch(struct mdss_mdp_ctl *ctl,
((fetch_start_handoff - 1)/h_total_handoff);
pr_debug("programmable fetch lines %d start:%d\n",
pinfo->prg_fet, fetch_start_handoff);
+ MDSS_XLOG(pinfo->prg_fet, fetch_start_handoff,
+ h_total_handoff, v_total_handoff);
}
}
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
index a2aacd9550db..0fae530fae12 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
@@ -789,6 +789,7 @@ static int mdss_mdp_writeback_display(struct mdss_mdp_ctl *ctl, void *arg)
flush_bits |= BIT(16); /* WB */
mdp_wb_write(ctx, MDSS_MDP_REG_WB_DST_ADDR_SW_STATUS, ctl->is_secure);
mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits);
+ MDSS_XLOG(ctl->intf_num, flush_bits);
reinit_completion(&ctx->wb_comp);
mdss_mdp_irq_enable(ctx->intr_type, ctx->intf_num);
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index 97e65bdcc393..a2dfdbba749e 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -2708,6 +2708,7 @@ static ssize_t dynamic_fps_sysfs_wta_dfps(struct device *dev,
}
pdata->panel_info.new_fps = dfps;
+ MDSS_XLOG(dfps);
mutex_unlock(&mdp5_data->dfps_lock);
return count;
} /* dynamic_fps_sysfs_wta_dfps */
@@ -3164,6 +3165,7 @@ int mdss_mdp_cursor_flush(struct msm_fb_data_type *mfd,
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON);
mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits);
+ MDSS_XLOG(ctl->intf_num, flush_bits);
if ((!ctl->split_flush_en) && pipe->mixer_right) {
sctl = mdss_mdp_get_split_ctl(ctl);
if (!sctl) {
@@ -3171,6 +3173,7 @@ int mdss_mdp_cursor_flush(struct msm_fb_data_type *mfd,
return -ENODEV;
}
mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_FLUSH, flush_bits);
+ MDSS_XLOG(sctl->intf_num, flush_bits);
}
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_OFF);