summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUjwal Patel <ujwalp@codeaurora.org>2014-12-05 18:04:29 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:40:11 -0700
commit9b6879fe6cf44b5560e126877ddf133d0f049dbe (patch)
treeb11c2bd9ea10d3d051c0e83f4935b1a19f01a7c7
parent726aea0dc9e1d6be50a82fb7bc5830fec452ca9a (diff)
msm: mdss: xlog: add new xlog messages and remove unnecessary ones
Add new xlog messages to aid in debugging of MDSS issues. Some of the new messages include information regarding mixer configuration, write-back configuration at start and finish of the operation, pipe configuration and pixel extensions etc. Also remove old mixer reg xlog and report xlog from mdp_clk_ctrl only once to prevent flooding. Conflicts: drivers/video/msm/mdss/mdss_mdp_ctl.c Change-Id: I11fd63a220b1ccd102dcd48d3878cf96fc91bc5f Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp.c4
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c22
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c4
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_pipe.c15
4 files changed, 21 insertions, 24 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp.c b/drivers/video/fbdev/msm/mdss_mdp.c
index f7395eac3a59..8d7ea16be676 100644
--- a/drivers/video/fbdev/msm/mdss_mdp.c
+++ b/drivers/video/fbdev/msm/mdss_mdp.c
@@ -822,7 +822,9 @@ void mdss_mdp_clk_ctrl(int enable)
}
}
- MDSS_XLOG(mdp_clk_cnt, changed, enable, current->pid);
+ if (changed)
+ MDSS_XLOG(mdp_clk_cnt, enable, current->pid);
+
pr_debug("%s: clk_cnt=%d changed=%d enable=%d\n",
__func__, mdp_clk_cnt, changed, enable);
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index e73cca03989d..a3c5e4929165 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -24,13 +24,11 @@
#include "mdss_fb.h"
#include "mdss_mdp.h"
-#include "mdss_debug.h"
#include "mdss_mdp_trace.h"
#include "mdss_debug.h"
#define MDSS_MDP_WB_OUTPUT_BPP 3
-static void mdss_mdp_xlog_mixer_reg(struct mdss_mdp_ctl *ctl);
static inline u64 fudge_factor(u64 val, u32 numer, u32 denom)
{
u64 result = (val * (u64)numer);
@@ -3155,6 +3153,8 @@ update_mixer:
pr_debug("mixer=%d cfg=0%08x cfg_extn=0x%08x op_mode=0x%08x w=%d h=%d\n",
mixer->num, mixercfg, mixercfg_extn,
mixer_op_mode, mixer->roi.w, mixer->roi.h);
+ MDSS_XLOG(mixer->num, mixercfg, mixercfg_extn, mixer_op_mode,
+ mixer->roi.h, mixer->roi.w);
}
int mdss_mdp_mixer_addr_setup(struct mdss_data_type *mdata,
@@ -3754,8 +3754,6 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
}
ATRACE_END("postproc_programming");
- mdss_mdp_xlog_mixer_reg(ctl);
-
ATRACE_BEGIN("frame_ready");
mdss_mdp_ctl_notify(ctl, MDP_NOTIFY_FRAME_CFG_DONE);
if (commit_cb)
@@ -4082,21 +4080,6 @@ int mdss_mdp_mixer_handoff(struct mdss_mdp_ctl *ctl, u32 num,
return rc;
}
-static void mdss_mdp_xlog_mixer_reg(struct mdss_mdp_ctl *ctl)
-{
- int i, off;
- u32 data[MDSS_MDP_INTF_MAX_LAYERMIXER];
-
- for (i = 0; i < MDSS_MDP_INTF_MAX_LAYERMIXER; i++) {
- off = MDSS_MDP_REG_CTL_LAYER(i);
- data[i] = mdss_mdp_ctl_read(ctl, off);
- }
- MDSS_XLOG(data[MDSS_MDP_INTF_LAYERMIXER0],
- data[MDSS_MDP_INTF_LAYERMIXER1],
- data[MDSS_MDP_INTF_LAYERMIXER2],
- data[MDSS_MDP_INTF_LAYERMIXER3], off);
-}
-
struct mdss_mdp_writeback *mdss_mdp_wb_alloc(u32 caps, u32 reg_index)
{
struct mdss_data_type *mdata = mdss_mdp_get_mdata();
@@ -4186,4 +4169,3 @@ void mdss_mdp_wb_free(struct mdss_mdp_writeback *wb)
&mdata->wb_lock))
mutex_unlock(&mdata->wb_lock);
}
-
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
index 95cc7c65bc22..3983cf5b98a5 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_intf_writeback.c
@@ -18,6 +18,7 @@
#include "mdss_rotator_internal.h"
#include "mdss_panel.h"
#include "mdss_mdp_trace.h"
+#include "mdss_debug.h"
/*
* if BWC enabled and format is H1V2 or 420, do not use site C or I.
@@ -547,6 +548,7 @@ static void mdss_mdp_writeback_intr_done(void *arg)
spin_unlock(&ctx->wb_lock);
complete_all(&ctx->wb_comp);
+ MDSS_XLOG(ctx->wb_num, ctx->type, ctx->xin_id, ctx->intf_num);
}
static bool mdss_mdp_traffic_shaper_helper(struct mdss_mdp_ctl *ctl,
@@ -774,6 +776,8 @@ static int mdss_mdp_writeback_display(struct mdss_mdp_ctl *ctl, void *arg)
mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_START, 1);
wmb();
+ MDSS_XLOG(ctx->wb_num, ctx->type, ctx->xin_id, ctx->intf_num,
+ ctx->dst_rect.w, ctx->dst_rect.h);
pr_debug("ctx%d type:%d xin_id:%d intf_num:%d start\n",
ctx->wb_num, ctx->type, ctx->xin_id, ctx->intf_num);
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pipe.c b/drivers/video/fbdev/msm/mdss_mdp_pipe.c
index a455971d8b2c..bfa9cd857473 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_pipe.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_pipe.c
@@ -1647,6 +1647,9 @@ static int mdss_mdp_image_setup(struct mdss_mdp_pipe *pipe,
mdss_mdp_pipe_write(pipe, MDSS_MDP_REG_SSPP_DECIMATION_CONFIG,
decimation);
+ MDSS_XLOG(pipe->num, src_size, src_xy, dst_size, dst_xy,
+ pipe->bwc_mode);
+
return 0;
}
@@ -1935,14 +1938,19 @@ int mdss_mdp_pipe_queue_data(struct mdss_mdp_pipe *pipe,
((pipe->type == MDSS_MDP_PIPE_TYPE_DMA) &&
(pipe->mixer_left->type == MDSS_MDP_MIXER_TYPE_WRITEBACK) &&
(ctl->mdata->mixer_switched)) || ctl->roi_changed;
- if ((!(pipe->flags & MDP_VPU_PIPE) &&
- (src_data == NULL)) ||
- (pipe->flags & MDP_SOLID_FILL)) {
+ if ((!(pipe->flags & MDP_VPU_PIPE) && (src_data == NULL)) ||
+ (pipe->flags & MDP_SOLID_FILL)) {
pipe->params_changed = 0;
mdss_mdp_pipe_solidfill_setup(pipe);
+
+ MDSS_XLOG(pipe->num, pipe->mixer_left->num, pipe->play_cnt,
+ 0x111);
+
goto update_nobuf;
}
+ MDSS_XLOG(pipe->num, pipe->mixer_left->num, pipe->play_cnt, 0x222);
+
if (params_changed) {
pipe->params_changed = 0;
@@ -2067,6 +2075,7 @@ static inline void __mdss_mdp_pipe_program_pixel_extn_helper(
writel_relaxed(tot_req_pixels, pipe->base +
MDSS_MDP_REG_SSPP_SW_PIX_EXT_C0_REQ_PIXELS + off);
+ MDSS_XLOG(pipe->num, plane, lr_pe, tb_pe, tot_req_pixels);
pr_debug("pipe num=%d, plane=%d, LR PE=0x%x, TB PE=0x%x, req_pixels=0x0%x\n",
pipe->num, plane, lr_pe, tb_pe, tot_req_pixels);
}