From 39624a04d8c325958c40c0e44acd4fcc9cfeed95 Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Wed, 27 Apr 2016 13:07:29 -0700 Subject: gpu: nvgpu: Add semaphore debugging info Add semaphore debugging information to the gk20a channel state debug dump. Bug 1732449 JIRA DNVGPU-12 Change-Id: I7caafd4f6420e1c478be22e236513603c315ce5e Signed-off-by: Alex Waterman Reviewed-on: http://git-master/r/1198592 (cherry picked from commit 3fa247adf5fdd8c9b16a24fec00903fdc3abc90a) Reviewed-on: http://git-master/r/1133793 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/debug_gk20a.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drivers') 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 @@ #include "gk20a.h" #include "debug_gk20a.h" +#include "semaphore_gk20a.h" #include "hw_ram_gk20a.h" #include "hw_fifo_gk20a.h" @@ -109,6 +110,11 @@ static void gk20a_debug_show_channel(struct gk20a *g, u32 status = ccsr_channel_status_v(channel); u32 syncpointa, syncpointb; u32 *inst_mem; + struct channel_gk20a *c = g->fifo.channel + hw_chid; + struct gk20a_semaphore_int *hw_sema = NULL; + + if (c->hw_sema) + hw_sema = c->hw_sema; if (!ch_state) return; @@ -145,6 +151,12 @@ static void gk20a_debug_show_channel(struct gk20a *g, inst_mem[ram_fc_semaphoreb_w()], inst_mem[ram_fc_semaphorec_w()], inst_mem[ram_fc_semaphored_w()]); + if (hw_sema) + gk20a_debug_output(o, "SEMA STATE: value: 0x%08x " + "next_val: 0x%08x addr: 0x%010llx\n", + readl(hw_sema->value), + atomic_read(&hw_sema->next_value), + gk20a_hw_sema_addr(hw_sema)); #ifdef CONFIG_TEGRA_GK20A if ((pbdma_syncpointb_op_v(syncpointb) == pbdma_syncpointb_op_wait_v()) -- cgit v1.2.2