broadcom/clif: Move the CL printing part of CL dumps to a helper.
authorEric Anholt <eric@anholt.net>
Wed, 25 Oct 2017 00:52:31 +0000 (17:52 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 30 Oct 2017 20:31:16 +0000 (13:31 -0700)
This will let me reuse the printing for processing branches to other CLs.

src/broadcom/clif/clif_dump.c

index 339fc3835b04537386dae2b6f28c5d21b3745d00..af72834e5dc56127a72d0e12d5ed5238ec70c4fc 100644 (file)
@@ -220,35 +220,8 @@ clif_dump_gl_shader_state_record(struct clif_dump *clif,
 }
 
 static void
-clif_process_worklist(struct clif_dump *clif)
+clif_dump_cl(struct clif_dump *clif, uint32_t start, uint32_t end)
 {
-        while (!list_empty(&clif->worklist)) {
-                struct reloc_worklist_entry *reloc =
-                        list_first_entry(&clif->worklist,
-                                         struct reloc_worklist_entry, link);
-                list_del(&reloc->link);
-
-                void *vaddr;
-                if (!clif->lookup_vaddr(clif->data, reloc->addr, &vaddr)) {
-                        out(clif, "Failed to look up address 0x%08x\n",
-                            reloc->addr);
-                        continue;
-                }
-
-                switch (reloc->type) {
-                case reloc_gl_shader_state:
-                        clif_dump_gl_shader_state_record(clif, reloc, vaddr);
-                        break;
-                }
-                out(clif, "\n");
-        }
-}
-
-void
-clif_dump_add_cl(struct clif_dump *clif, uint32_t start, uint32_t end)
-{
-        uint32_t size;
-
         void *start_vaddr;
         if (!clif->lookup_vaddr(clif->data, start, &start_vaddr)) {
                 out(clif, "Failed to look up address 0x%08x\n",
@@ -266,6 +239,7 @@ clif_dump_add_cl(struct clif_dump *clif, uint32_t start, uint32_t end)
                 return;
         }
 
+        uint32_t size;
         uint8_t *cl = start_vaddr;
         while (clif_dump_packet(clif, start, cl, &size)) {
                 cl += size;
@@ -274,7 +248,37 @@ clif_dump_add_cl(struct clif_dump *clif, uint32_t start, uint32_t end)
                 if (cl == end_vaddr)
                         break;
         }
+}
 
+static void
+clif_process_worklist(struct clif_dump *clif)
+{
+        while (!list_empty(&clif->worklist)) {
+                struct reloc_worklist_entry *reloc =
+                        list_first_entry(&clif->worklist,
+                                         struct reloc_worklist_entry, link);
+                list_del(&reloc->link);
+
+                void *vaddr;
+                if (!clif->lookup_vaddr(clif->data, reloc->addr, &vaddr)) {
+                        out(clif, "Failed to look up address 0x%08x\n",
+                            reloc->addr);
+                        continue;
+                }
+
+                switch (reloc->type) {
+                case reloc_gl_shader_state:
+                        clif_dump_gl_shader_state_record(clif, reloc, vaddr);
+                        break;
+                }
+                out(clif, "\n");
+        }
+}
+
+void
+clif_dump_add_cl(struct clif_dump *clif, uint32_t start, uint32_t end)
+{
+        clif_dump_cl(clif, start, end);
         out(clif, "\n");
 
         clif_process_worklist(clif);