diff --git a/src/freedreno/decode/cffdec.c b/src/freedreno/decode/cffdec.c index 77bd4fc120a..995455198d4 100644 --- a/src/freedreno/decode/cffdec.c +++ b/src/freedreno/decode/cffdec.c @@ -2758,6 +2758,9 @@ cp_wfi(uint32_t *dwords, uint32_t sizedwords, int level) static void cp_mem_write(uint32_t *dwords, uint32_t sizedwords, int level) { + struct rnndomain *domain = rnn_finddomain(rnn->db, "CP_MEM_WRITE"); + internal_packet(dwords, sizedwords, rnn, domain); + if (quiet(2)) return; @@ -2784,7 +2787,6 @@ cp_rmw(uint32_t *dwords, uint32_t sizedwords, int level) domain = rnn_finddomain(rnn->db, "CP_REG_RMW"); str = internal_packet(dwords, sizedwords, rnn, domain); - printl(3, "%srmw %s", levels[level], str); if (needs_wfi) printl(2, "NEEDS WFI: rmw %s", str); diff --git a/src/freedreno/decode/cffdump-pkt-handler.lua b/src/freedreno/decode/cffdump-pkt-handler.lua index 98a6671b74d..8ca5a7cba98 100644 --- a/src/freedreno/decode/cffdump-pkt-handler.lua +++ b/src/freedreno/decode/cffdump-pkt-handler.lua @@ -54,3 +54,13 @@ function CP_REG_RMW(pkt, size) dst_reg_str, dst_reg_str, src0_str, rotate, op_str, src1_str) end + +function CP_MEM_WRITE(pkt, size) + local addr = pkt.ADDR + + for i = 2, size - 1 do + dbg("write: %x %x\n", addr, pkt[i]) + bos.write(addr, pkt[i]) + addr = addr + 4 + end +end