diff options
| author | Adrian Salido-Moreno <adrianm@codeaurora.org> | 2015-04-23 18:16:41 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:40:50 -0700 |
| commit | ea86d8e5a5d561a6db9b534d70b60e79a935ca74 (patch) | |
| tree | 45b20b25b9e26792346c46a29e62f7a2227b03c7 | |
| parent | 14b7eeba1dfa6bc24cc04f460cce538b80c61e7e (diff) | |
mdss: debug: add panel timings to mdp dump
Provide info about current panel timings when dumping mdp debugfs data.
Change-Id: Id2b481797e86131e8d32d7fc59531964f0a21c0a
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_debug.c | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_debug.c b/drivers/video/fbdev/msm/mdss_mdp_debug.c index 97cb22742d03..a07b0e3bea4c 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_debug.c +++ b/drivers/video/fbdev/msm/mdss_mdp_debug.c @@ -159,6 +159,38 @@ static void __dump_buf_data(struct seq_file *s, struct msm_fb_data_type *mfd) mutex_unlock(&mdp5_data->list_lock); } +static void __dump_timings(struct seq_file *s, struct mdss_mdp_ctl *ctl) +{ + struct mdss_panel_info *pinfo; + + if (!ctl || !ctl->panel_data) + return; + + pinfo = &ctl->panel_data->panel_info; + seq_printf(s, "Panel #%d %dx%dp%d\n", + pinfo->pdest, pinfo->xres, pinfo->yres, + mdss_panel_get_framerate(pinfo)); + seq_printf(s, "\tvbp=%d vfp=%d vpw=%d hbp=%d hfp=%d hpw=%d\n", + pinfo->lcdc.v_back_porch, + pinfo->lcdc.v_front_porch, + pinfo->lcdc.v_pulse_width, + pinfo->lcdc.h_back_porch, + pinfo->lcdc.h_front_porch, + pinfo->lcdc.h_pulse_width); + + if (pinfo->lcdc.border_bottom || pinfo->lcdc.border_top || + pinfo->lcdc.border_left || + pinfo->lcdc.border_right) { + seq_printf(s, "\tborder (l,t,r,b):[%d,%d,%d,%d] off xy:%d,%d\n", + pinfo->lcdc.border_left, + pinfo->lcdc.border_top, + pinfo->lcdc.border_right, + pinfo->lcdc.border_bottom, + ctl->border_x_off, + ctl->border_y_off); + } +} + static void __dump_ctl(struct seq_file *s, struct mdss_mdp_ctl *ctl) { struct mdss_mdp_perf_params *perf; @@ -168,7 +200,13 @@ static void __dump_ctl(struct seq_file *s, struct mdss_mdp_ctl *ctl) seq_printf(s, "\n--[ Control path #%d - ", ctl->num); if (ctl->panel_data) { - seq_puts(s, mdss_panel2str(ctl->panel_data->panel_info.type)); + struct mdss_mdp_ctl *sctl = mdss_mdp_get_split_ctl(ctl); + + seq_printf(s, "%s%s]--\n", + sctl && sctl->panel_data ? "DUAL " : "", + mdss_panel2str(ctl->panel_data->panel_info.type)); + __dump_timings(s, ctl); + __dump_timings(s, sctl); } else { struct mdss_mdp_mixer *mixer; mixer = ctl->mixer_left; @@ -179,9 +217,9 @@ static void __dump_ctl(struct seq_file *s, struct mdss_mdp_ctl *ctl) } else { seq_puts(s, "unknown"); } + seq_puts(s, "]--\n"); } perf = &ctl->cur_perf; - seq_puts(s, "]--\n"); seq_printf(s, "MDP Clk=%u Final BW=%llu\n", perf->mdp_clk_rate, perf->bw_ctl); |
