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 02125842071c993b14f17e5dcf94e078a97606e0..f31bcfa1b837bc6f309f3044fdc05fa569ae8004 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;