diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/debug_gk20a.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c index 5b06d35c..93580a7f 100644 --- a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c | |||
@@ -25,6 +25,7 @@ | |||
25 | 25 | ||
26 | #include "gk20a.h" | 26 | #include "gk20a.h" |
27 | #include "debug_gk20a.h" | 27 | #include "debug_gk20a.h" |
28 | #include "semaphore_gk20a.h" | ||
28 | 29 | ||
29 | #include "hw_ram_gk20a.h" | 30 | #include "hw_ram_gk20a.h" |
30 | #include "hw_fifo_gk20a.h" | 31 | #include "hw_fifo_gk20a.h" |
@@ -109,6 +110,11 @@ static void gk20a_debug_show_channel(struct gk20a *g, | |||
109 | u32 status = ccsr_channel_status_v(channel); | 110 | u32 status = ccsr_channel_status_v(channel); |
110 | u32 syncpointa, syncpointb; | 111 | u32 syncpointa, syncpointb; |
111 | u32 *inst_mem; | 112 | u32 *inst_mem; |
113 | struct channel_gk20a *c = g->fifo.channel + hw_chid; | ||
114 | struct gk20a_semaphore_int *hw_sema = NULL; | ||
115 | |||
116 | if (c->hw_sema) | ||
117 | hw_sema = c->hw_sema; | ||
112 | 118 | ||
113 | if (!ch_state) | 119 | if (!ch_state) |
114 | return; | 120 | return; |
@@ -145,6 +151,12 @@ static void gk20a_debug_show_channel(struct gk20a *g, | |||
145 | inst_mem[ram_fc_semaphoreb_w()], | 151 | inst_mem[ram_fc_semaphoreb_w()], |
146 | inst_mem[ram_fc_semaphorec_w()], | 152 | inst_mem[ram_fc_semaphorec_w()], |
147 | inst_mem[ram_fc_semaphored_w()]); | 153 | inst_mem[ram_fc_semaphored_w()]); |
154 | if (hw_sema) | ||
155 | gk20a_debug_output(o, "SEMA STATE: value: 0x%08x " | ||
156 | "next_val: 0x%08x addr: 0x%010llx\n", | ||
157 | readl(hw_sema->value), | ||
158 | atomic_read(&hw_sema->next_value), | ||
159 | gk20a_hw_sema_addr(hw_sema)); | ||
148 | 160 | ||
149 | #ifdef CONFIG_TEGRA_GK20A | 161 | #ifdef CONFIG_TEGRA_GK20A |
150 | if ((pbdma_syncpointb_op_v(syncpointb) == pbdma_syncpointb_op_wait_v()) | 162 | if ((pbdma_syncpointb_op_v(syncpointb) == pbdma_syncpointb_op_wait_v()) |