gpu: host1x: debug: Dump push buffer state
authorDmitry Osipenko <digetx@gmail.com>
Mon, 29 Jun 2020 03:18:42 +0000 (06:18 +0300)
committerThierry Reding <treding@nvidia.com>
Fri, 17 Jul 2020 14:06:14 +0000 (16:06 +0200)
When job hangs and there is a memory error pointing at channel's push
buffer, it is very handy to know the push buffer's state. This patch
makes the push buffer's state to be dumped into KMSG in addition to the
job's gathers.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/host1x/hw/debug_hw.c

index 0212584..f31bcfa 100644 (file)
@@ -192,8 +192,14 @@ static void show_gather(struct output *o, phys_addr_t phys_addr,
 
 static void show_channel_gathers(struct output *o, struct host1x_cdma *cdma)
 {
+       struct push_buffer *pb = &cdma->push_buffer;
        struct host1x_job *job;
 
+       host1x_debug_output(o, "PUSHBUF at %pad, %u words\n",
+                           &pb->dma, pb->size / 4);
+
+       show_gather(o, pb->dma, pb->size / 4, cdma, pb->dma, pb->mapped);
+
        list_for_each_entry(job, &cdma->sync_queue, list) {
                unsigned int i;