summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorIngrid Gallardo <ingridg@codeaurora.org>2015-07-29 18:43:54 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:44:46 -0700
commite228b8d63c23091efaf44f92d8feff73d346e7fb (patch)
treec9d15b550a735cf2aaaf01e7ca9775cd6aa622d2 /drivers/video/fbdev
parent0db2c5fa4f09bc4b212e953448035483344cc4c2 (diff)
msm: mdss: dump mdp debug bus info
add support to dump debug bus information Change-Id: I2a542592c1ee54f739f1ef383b005c8fc0beb762 Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_debug_xlog.c3
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_debug.c585
2 files changed, 588 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_debug_xlog.c b/drivers/video/fbdev/msm/mdss_debug_xlog.c
index 2d23d074cf70..8f62919529a5 100644
--- a/drivers/video/fbdev/msm/mdss_debug_xlog.c
+++ b/drivers/video/fbdev/msm/mdss_debug_xlog.c
@@ -266,6 +266,9 @@ static void mdss_dump_debug_bus(u32 bus_dump_flag,
dump_addr[i*4 + 3] = status;
}
+ /* Disable debug bus once we are done */
+ writel_relaxed(0, mdss_res->mdp_base + head->wr_addr);
+
}
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_OFF);
diff --git a/drivers/video/fbdev/msm/mdss_mdp_debug.c b/drivers/video/fbdev/msm/mdss_mdp_debug.c
index 294474fa3a0e..06b2e87ceedd 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_debug.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_debug.c
@@ -22,6 +22,586 @@
#define BUF_DUMP_LAST_N 10
+static struct debug_bus dbg_bus_8996[] = {
+
+ /* Unpack 0 sspp 0*/
+ { 0x188, 50, 6 },
+ { 0x188, 60, 6 },
+ { 0x188, 54, 6 },
+ { 0x188, 64, 6 },
+ { 0x188, 70, 6 },
+ { 0x188, 85, 6 },
+ /* Upack 0 sspp 1*/
+ { 0x298, 50, 6 },
+ { 0x298, 60, 6 },
+ { 0x298, 54, 6 },
+ { 0x298, 64, 6 },
+ { 0x298, 70, 6 },
+ { 0x298, 85, 6 },
+ /* scheduler */
+ { 0x348, 130, 0 },
+ { 0x348, 130, 1 },
+ { 0x348, 130, 2 },
+ { 0x348, 130, 3 },
+ { 0x348, 130, 4 },
+ { 0x348, 130, 5 },
+
+ /* fetch sspp0 */
+
+ /* vig 0 */
+ { 0x188, 0, 0 },
+ { 0x188, 0, 1 },
+ { 0x188, 0, 2 },
+ { 0x188, 0, 3 },
+ { 0x188, 0, 4 },
+ { 0x188, 0, 5 },
+ { 0x188, 0, 6 },
+ { 0x188, 0, 7 },
+
+ { 0x188, 1, 0 },
+ { 0x188, 1, 1 },
+ { 0x188, 1, 2 },
+ { 0x188, 1, 3 },
+ { 0x188, 1, 4 },
+ { 0x188, 1, 5 },
+ { 0x188, 1, 6 },
+ { 0x188, 1, 7 },
+
+ { 0x188, 2, 0 },
+ { 0x188, 2, 1 },
+ { 0x188, 2, 2 },
+ { 0x188, 2, 3 },
+ { 0x188, 2, 4 },
+ { 0x188, 2, 5 },
+ { 0x188, 2, 6 },
+ { 0x188, 2, 7 },
+
+ { 0x188, 4, 0 },
+ { 0x188, 4, 1 },
+ { 0x188, 4, 2 },
+ { 0x188, 4, 3 },
+ { 0x188, 4, 4 },
+ { 0x188, 4, 5 },
+ { 0x188, 4, 6 },
+ { 0x188, 4, 7 },
+
+ { 0x188, 5, 0 },
+ { 0x188, 5, 1 },
+ { 0x188, 5, 2 },
+ { 0x188, 5, 3 },
+ { 0x188, 5, 4 },
+ { 0x188, 5, 5 },
+ { 0x188, 5, 6 },
+ { 0x188, 5, 7 },
+
+ /* vig 2 */
+ { 0x188, 20, 0 },
+ { 0x188, 20, 1 },
+ { 0x188, 20, 2 },
+ { 0x188, 20, 3 },
+ { 0x188, 20, 4 },
+ { 0x188, 20, 5 },
+ { 0x188, 20, 6 },
+ { 0x188, 20, 7 },
+
+ { 0x188, 21, 0 },
+ { 0x188, 21, 1 },
+ { 0x188, 21, 2 },
+ { 0x188, 21, 3 },
+ { 0x188, 21, 4 },
+ { 0x188, 21, 5 },
+ { 0x188, 21, 6 },
+ { 0x188, 21, 7 },
+
+ { 0x188, 22, 0 },
+ { 0x188, 22, 1 },
+ { 0x188, 22, 2 },
+ { 0x188, 22, 3 },
+ { 0x188, 22, 4 },
+ { 0x188, 22, 5 },
+ { 0x188, 22, 6 },
+ { 0x188, 22, 7 },
+
+ { 0x188, 24, 0 },
+ { 0x188, 24, 1 },
+ { 0x188, 24, 2 },
+ { 0x188, 24, 3 },
+ { 0x188, 24, 4 },
+ { 0x188, 24, 5 },
+ { 0x188, 24, 6 },
+ { 0x188, 24, 7 },
+
+ { 0x188, 25, 0 },
+ { 0x188, 25, 1 },
+ { 0x188, 25, 2 },
+ { 0x188, 25, 3 },
+ { 0x188, 25, 4 },
+ { 0x188, 25, 5 },
+ { 0x188, 25, 6 },
+ { 0x188, 25, 7 },
+
+ /* rgb 0 */
+ { 0x188, 10, 0 },
+ { 0x188, 10, 1 },
+ { 0x188, 10, 2 },
+ { 0x188, 10, 3 },
+ { 0x188, 10, 4 },
+ { 0x188, 10, 5 },
+ { 0x188, 10, 6 },
+ { 0x188, 10, 7 },
+
+ { 0x188, 11, 0 },
+ { 0x188, 11, 1 },
+ { 0x188, 11, 2 },
+ { 0x188, 11, 3 },
+ { 0x188, 11, 4 },
+ { 0x188, 11, 5 },
+ { 0x188, 11, 6 },
+ { 0x188, 11, 7 },
+
+ { 0x188, 12, 0 },
+ { 0x188, 12, 1 },
+ { 0x188, 12, 2 },
+ { 0x188, 12, 3 },
+ { 0x188, 12, 4 },
+ { 0x188, 12, 5 },
+ { 0x188, 12, 6 },
+ { 0x188, 12, 7 },
+
+ { 0x188, 14, 0 },
+ { 0x188, 14, 1 },
+ { 0x188, 14, 2 },
+ { 0x188, 14, 3 },
+ { 0x188, 14, 4 },
+ { 0x188, 14, 5 },
+ { 0x188, 14, 6 },
+ { 0x188, 14, 7 },
+
+ { 0x188, 15, 0 },
+ { 0x188, 15, 1 },
+ { 0x188, 15, 2 },
+ { 0x188, 15, 3 },
+ { 0x188, 15, 4 },
+ { 0x188, 15, 5 },
+ { 0x188, 15, 6 },
+ { 0x188, 15, 7 },
+
+ /* rgb 2 */
+ { 0x188, 30, 0 },
+ { 0x188, 30, 1 },
+ { 0x188, 30, 2 },
+ { 0x188, 30, 3 },
+ { 0x188, 30, 4 },
+ { 0x188, 30, 5 },
+ { 0x188, 30, 6 },
+ { 0x188, 30, 7 },
+
+ { 0x188, 31, 0 },
+ { 0x188, 31, 1 },
+ { 0x188, 31, 2 },
+ { 0x188, 31, 3 },
+ { 0x188, 31, 4 },
+ { 0x188, 31, 5 },
+ { 0x188, 31, 6 },
+ { 0x188, 31, 7 },
+
+ { 0x188, 32, 0 },
+ { 0x188, 32, 1 },
+ { 0x188, 32, 2 },
+ { 0x188, 32, 3 },
+ { 0x188, 32, 4 },
+ { 0x188, 32, 5 },
+ { 0x188, 32, 6 },
+ { 0x188, 32, 7 },
+
+ { 0x188, 34, 0 },
+ { 0x188, 34, 1 },
+ { 0x188, 34, 2 },
+ { 0x188, 34, 3 },
+ { 0x188, 34, 4 },
+ { 0x188, 34, 5 },
+ { 0x188, 34, 6 },
+ { 0x188, 34, 7 },
+
+ { 0x188, 35, 0 },
+ { 0x188, 35, 1 },
+ { 0x188, 35, 2 },
+ { 0x188, 35, 3 },
+ { 0x188, 35, 4 },
+ { 0x188, 35, 5 },
+ { 0x188, 35, 6 },
+ { 0x188, 35, 7 },
+
+ /* dma 0 */
+ { 0x188, 40, 0 },
+ { 0x188, 40, 1 },
+ { 0x188, 40, 2 },
+ { 0x188, 40, 3 },
+ { 0x188, 40, 4 },
+ { 0x188, 40, 5 },
+ { 0x188, 40, 6 },
+ { 0x188, 40, 7 },
+
+ { 0x188, 41, 0 },
+ { 0x188, 41, 1 },
+ { 0x188, 41, 2 },
+ { 0x188, 41, 3 },
+ { 0x188, 41, 4 },
+ { 0x188, 41, 5 },
+ { 0x188, 41, 6 },
+ { 0x188, 41, 7 },
+
+ { 0x188, 42, 0 },
+ { 0x188, 42, 1 },
+ { 0x188, 42, 2 },
+ { 0x188, 42, 3 },
+ { 0x188, 42, 4 },
+ { 0x188, 42, 5 },
+ { 0x188, 42, 6 },
+ { 0x188, 42, 7 },
+
+ { 0x188, 44, 0 },
+ { 0x188, 44, 1 },
+ { 0x188, 44, 2 },
+ { 0x188, 44, 3 },
+ { 0x188, 44, 4 },
+ { 0x188, 44, 5 },
+ { 0x188, 44, 6 },
+ { 0x188, 44, 7 },
+
+ { 0x188, 45, 0 },
+ { 0x188, 45, 1 },
+ { 0x188, 45, 2 },
+ { 0x188, 45, 3 },
+ { 0x188, 45, 4 },
+ { 0x188, 45, 5 },
+ { 0x188, 45, 6 },
+ { 0x188, 45, 7 },
+
+ /* cursor 0 */
+ { 0x188, 80, 0 },
+ { 0x188, 80, 1 },
+ { 0x188, 80, 2 },
+ { 0x188, 80, 3 },
+ { 0x188, 80, 4 },
+ { 0x188, 80, 5 },
+ { 0x188, 80, 6 },
+ { 0x188, 80, 7 },
+
+ { 0x188, 81, 0 },
+ { 0x188, 81, 1 },
+ { 0x188, 81, 2 },
+ { 0x188, 81, 3 },
+ { 0x188, 81, 4 },
+ { 0x188, 81, 5 },
+ { 0x188, 81, 6 },
+ { 0x188, 81, 7 },
+
+ { 0x188, 82, 0 },
+ { 0x188, 82, 1 },
+ { 0x188, 82, 2 },
+ { 0x188, 82, 3 },
+ { 0x188, 82, 4 },
+ { 0x188, 82, 5 },
+ { 0x188, 82, 6 },
+ { 0x188, 82, 7 },
+
+ { 0x188, 83, 0 },
+ { 0x188, 83, 1 },
+ { 0x188, 83, 2 },
+ { 0x188, 83, 3 },
+ { 0x188, 83, 4 },
+ { 0x188, 83, 5 },
+ { 0x188, 83, 6 },
+ { 0x188, 83, 7 },
+
+ { 0x188, 84, 0 },
+ { 0x188, 84, 1 },
+ { 0x188, 84, 2 },
+ { 0x188, 84, 3 },
+ { 0x188, 84, 4 },
+ { 0x188, 84, 5 },
+ { 0x188, 84, 6 },
+ { 0x188, 84, 7 },
+
+ /* fetch sspp1 */
+ /* vig 1 */
+ { 0x298, 0, 0 },
+ { 0x298, 0, 1 },
+ { 0x298, 0, 2 },
+ { 0x298, 0, 3 },
+ { 0x298, 0, 4 },
+ { 0x298, 0, 5 },
+ { 0x298, 0, 6 },
+ { 0x298, 0, 7 },
+
+ { 0x298, 1, 0 },
+ { 0x298, 1, 1 },
+ { 0x298, 1, 2 },
+ { 0x298, 1, 3 },
+ { 0x298, 1, 4 },
+ { 0x298, 1, 5 },
+ { 0x298, 1, 6 },
+ { 0x298, 1, 7 },
+
+ { 0x298, 2, 0 },
+ { 0x298, 2, 1 },
+ { 0x298, 2, 2 },
+ { 0x298, 2, 3 },
+ { 0x298, 2, 4 },
+ { 0x298, 2, 5 },
+ { 0x298, 2, 6 },
+ { 0x298, 2, 7 },
+
+ { 0x298, 4, 0 },
+ { 0x298, 4, 1 },
+ { 0x298, 4, 2 },
+ { 0x298, 4, 3 },
+ { 0x298, 4, 4 },
+ { 0x298, 4, 5 },
+ { 0x298, 4, 6 },
+ { 0x298, 4, 7 },
+
+ { 0x298, 5, 0 },
+ { 0x298, 5, 1 },
+ { 0x298, 5, 2 },
+ { 0x298, 5, 3 },
+ { 0x298, 5, 4 },
+ { 0x298, 5, 5 },
+ { 0x298, 5, 6 },
+ { 0x298, 5, 7 },
+
+ /* vig 3 */
+ { 0x298, 20, 0 },
+ { 0x298, 20, 1 },
+ { 0x298, 20, 2 },
+ { 0x298, 20, 3 },
+ { 0x298, 20, 4 },
+ { 0x298, 20, 5 },
+ { 0x298, 20, 6 },
+ { 0x298, 20, 7 },
+
+ { 0x298, 21, 0 },
+ { 0x298, 21, 1 },
+ { 0x298, 21, 2 },
+ { 0x298, 21, 3 },
+ { 0x298, 21, 4 },
+ { 0x298, 21, 5 },
+ { 0x298, 21, 6 },
+ { 0x298, 21, 7 },
+
+ { 0x298, 22, 0 },
+ { 0x298, 22, 1 },
+ { 0x298, 22, 2 },
+ { 0x298, 22, 3 },
+ { 0x298, 22, 4 },
+ { 0x298, 22, 5 },
+ { 0x298, 22, 6 },
+ { 0x298, 22, 7 },
+
+ { 0x298, 24, 0 },
+ { 0x298, 24, 1 },
+ { 0x298, 24, 2 },
+ { 0x298, 24, 3 },
+ { 0x298, 24, 4 },
+ { 0x298, 24, 5 },
+ { 0x298, 24, 6 },
+ { 0x298, 24, 7 },
+
+ { 0x298, 25, 0 },
+ { 0x298, 25, 1 },
+ { 0x298, 25, 2 },
+ { 0x298, 25, 3 },
+ { 0x298, 25, 4 },
+ { 0x298, 25, 5 },
+ { 0x298, 25, 6 },
+ { 0x298, 25, 7 },
+
+ /* rgb 1 */
+ { 0x298, 10, 0 },
+ { 0x298, 10, 1 },
+ { 0x298, 10, 2 },
+ { 0x298, 10, 3 },
+ { 0x298, 10, 4 },
+ { 0x298, 10, 5 },
+ { 0x298, 10, 6 },
+ { 0x298, 10, 7 },
+
+ { 0x298, 11, 0 },
+ { 0x298, 11, 1 },
+ { 0x298, 11, 2 },
+ { 0x298, 11, 3 },
+ { 0x298, 11, 4 },
+ { 0x298, 11, 5 },
+ { 0x298, 11, 6 },
+ { 0x298, 11, 7 },
+
+ { 0x298, 12, 0 },
+ { 0x298, 12, 1 },
+ { 0x298, 12, 2 },
+ { 0x298, 12, 3 },
+ { 0x298, 12, 4 },
+ { 0x298, 12, 5 },
+ { 0x298, 12, 6 },
+ { 0x298, 12, 7 },
+
+ { 0x298, 14, 0 },
+ { 0x298, 14, 1 },
+ { 0x298, 14, 2 },
+ { 0x298, 14, 3 },
+ { 0x298, 14, 4 },
+ { 0x298, 14, 5 },
+ { 0x298, 14, 6 },
+ { 0x298, 14, 7 },
+
+ { 0x298, 15, 0 },
+ { 0x298, 15, 1 },
+ { 0x298, 15, 2 },
+ { 0x298, 15, 3 },
+ { 0x298, 15, 4 },
+ { 0x298, 15, 5 },
+ { 0x298, 15, 6 },
+ { 0x298, 15, 7 },
+
+ /* rgb 3 */
+ { 0x298, 30, 0 },
+ { 0x298, 30, 1 },
+ { 0x298, 30, 2 },
+ { 0x298, 30, 3 },
+ { 0x298, 30, 4 },
+ { 0x298, 30, 5 },
+ { 0x298, 30, 6 },
+ { 0x298, 30, 7 },
+
+ { 0x298, 31, 0 },
+ { 0x298, 31, 1 },
+ { 0x298, 31, 2 },
+ { 0x298, 31, 3 },
+ { 0x298, 31, 4 },
+ { 0x298, 31, 5 },
+ { 0x298, 31, 6 },
+ { 0x298, 31, 7 },
+
+ { 0x298, 32, 0 },
+ { 0x298, 32, 1 },
+ { 0x298, 32, 2 },
+ { 0x298, 32, 3 },
+ { 0x298, 32, 4 },
+ { 0x298, 32, 5 },
+ { 0x298, 32, 6 },
+ { 0x298, 32, 7 },
+
+ { 0x298, 34, 0 },
+ { 0x298, 34, 1 },
+ { 0x298, 34, 2 },
+ { 0x298, 34, 3 },
+ { 0x298, 34, 4 },
+ { 0x298, 34, 5 },
+ { 0x298, 34, 6 },
+ { 0x298, 34, 7 },
+
+ { 0x298, 35, 0 },
+ { 0x298, 35, 1 },
+ { 0x298, 35, 2 },
+ { 0x298, 35, 3 },
+ { 0x298, 35, 4 },
+ { 0x298, 35, 5 },
+ { 0x298, 35, 6 },
+ { 0x298, 35, 7 },
+
+ /* dma 1 */
+ { 0x298, 40, 0 },
+ { 0x298, 40, 1 },
+ { 0x298, 40, 2 },
+ { 0x298, 40, 3 },
+ { 0x298, 40, 4 },
+ { 0x298, 40, 5 },
+ { 0x298, 40, 6 },
+ { 0x298, 40, 7 },
+
+ { 0x298, 41, 0 },
+ { 0x298, 41, 1 },
+ { 0x298, 41, 2 },
+ { 0x298, 41, 3 },
+ { 0x298, 41, 4 },
+ { 0x298, 41, 5 },
+ { 0x298, 41, 6 },
+ { 0x298, 41, 7 },
+
+ { 0x298, 42, 0 },
+ { 0x298, 42, 1 },
+ { 0x298, 42, 2 },
+ { 0x298, 42, 3 },
+ { 0x298, 42, 4 },
+ { 0x298, 42, 5 },
+ { 0x298, 42, 6 },
+ { 0x298, 42, 7 },
+
+ { 0x298, 44, 0 },
+ { 0x298, 44, 1 },
+ { 0x298, 44, 2 },
+ { 0x298, 44, 3 },
+ { 0x298, 44, 4 },
+ { 0x298, 44, 5 },
+ { 0x298, 44, 6 },
+ { 0x298, 44, 7 },
+
+ { 0x298, 45, 0 },
+ { 0x298, 45, 1 },
+ { 0x298, 45, 2 },
+ { 0x298, 45, 3 },
+ { 0x298, 45, 4 },
+ { 0x298, 45, 5 },
+ { 0x298, 45, 6 },
+ { 0x298, 45, 7 },
+
+ /* cursor 1 */
+ { 0x298, 80, 0 },
+ { 0x298, 80, 1 },
+ { 0x298, 80, 2 },
+ { 0x298, 80, 3 },
+ { 0x298, 80, 4 },
+ { 0x298, 80, 5 },
+ { 0x298, 80, 6 },
+ { 0x298, 80, 7 },
+
+ { 0x298, 81, 0 },
+ { 0x298, 81, 1 },
+ { 0x298, 81, 2 },
+ { 0x298, 81, 3 },
+ { 0x298, 81, 4 },
+ { 0x298, 81, 5 },
+ { 0x298, 81, 6 },
+ { 0x298, 81, 7 },
+
+ { 0x298, 82, 0 },
+ { 0x298, 82, 1 },
+ { 0x298, 82, 2 },
+ { 0x298, 82, 3 },
+ { 0x298, 82, 4 },
+ { 0x298, 82, 5 },
+ { 0x298, 82, 6 },
+ { 0x298, 82, 7 },
+
+ { 0x298, 83, 0 },
+ { 0x298, 83, 1 },
+ { 0x298, 83, 2 },
+ { 0x298, 83, 3 },
+ { 0x298, 83, 4 },
+ { 0x298, 83, 5 },
+ { 0x298, 83, 6 },
+ { 0x298, 83, 7 },
+
+ { 0x298, 84, 0 },
+ { 0x298, 84, 1 },
+ { 0x298, 84, 2 },
+ { 0x298, 84, 3 },
+ { 0x298, 84, 4 },
+ { 0x298, 84, 5 },
+ { 0x298, 84, 6 },
+ { 0x298, 84, 7 },
+};
+
static struct debug_bus dbg_bus_8994[] = {
/* VIG QSEED */
{ 0x298, 4, 0},
@@ -134,6 +714,11 @@ void mdss_mdp_hw_rev_debug_caps_init(struct mdss_data_type *mdata)
mdata->dbg_bus = dbg_bus_8994;
mdata->dbg_bus_size = ARRAY_SIZE(dbg_bus_8994);
break;
+ case MDSS_MDP_HW_REV_107:
+ case MDSS_MDP_HW_REV_107_1:
+ case MDSS_MDP_HW_REV_107_2:
+ mdata->dbg_bus = dbg_bus_8996;
+ mdata->dbg_bus_size = ARRAY_SIZE(dbg_bus_8996);
default:
break;
}