[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH 1/3] hw/ssi/mss-spi: Convert debug printf()s to trace
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-arm] [PATCH 1/3] hw/ssi/mss-spi: Convert debug printf()s to trace events |
Date: |
Tue, 9 Jul 2019 13:37:13 +0200 |
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
Useful while debugging, can be skipped for next dev cycle.
Makefile.objs | 1 +
hw/ssi/mss-spi.c | 23 ++++++-----------------
hw/ssi/trace-events | 6 ++++++
3 files changed, 13 insertions(+), 17 deletions(-)
create mode 100644 hw/ssi/trace-events
diff --git a/Makefile.objs b/Makefile.objs
index 6a143dcd57..60ec443091 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -178,6 +178,7 @@ trace-events-subdirs += hw/scsi
trace-events-subdirs += hw/sd
trace-events-subdirs += hw/sparc
trace-events-subdirs += hw/sparc64
+trace-events-subdirs += hw/ssi
trace-events-subdirs += hw/timer
trace-events-subdirs += hw/tpm
trace-events-subdirs += hw/usb
diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c
index 918b1f3e82..4878279482 100644
--- a/hw/ssi/mss-spi.c
+++ b/hw/ssi/mss-spi.c
@@ -27,18 +27,8 @@
#include "hw/ssi/mss-spi.h"
#include "qemu/log.h"
#include "qemu/module.h"
+#include "trace.h"
-#ifndef MSS_SPI_ERR_DEBUG
-#define MSS_SPI_ERR_DEBUG 0
-#endif
-
-#define DB_PRINT_L(lvl, fmt, args...) do { \
- if (MSS_SPI_ERR_DEBUG >= lvl) { \
- qemu_log("%s: " fmt "\n", __func__, ## args); \
- } \
-} while (0)
-
-#define DB_PRINT(fmt, args...) DB_PRINT_L(1, fmt, ## args)
#define FIFO_CAPACITY 32
@@ -187,9 +177,9 @@ spi_read(void *opaque, hwaddr addr, unsigned int size)
}
break;
}
-
- DB_PRINT("addr=0x%" HWADDR_PRIx " = 0x%" PRIx32, addr * 4, ret);
+ trace_mss_spi_read(addr << 2, ret);
spi_update_irq(s);
+
return ret;
}
@@ -225,9 +215,9 @@ static void spi_flush_txfifo(MSSSpiState *s)
s->regs[R_SPI_STATUS] &= ~(S_TXDONE | S_RXRDY);
tx = fifo32_pop(&s->tx_fifo);
- DB_PRINT("data tx:0x%" PRIx32, tx);
+ trace_mss_spi_flush_fifo("tx", tx);
rx = ssi_transfer(s->spi, tx);
- DB_PRINT("data rx:0x%" PRIx32, rx);
+ trace_mss_spi_flush_fifo("rx", rx);
if (fifo32_num_used(&s->rx_fifo) == s->fifo_depth) {
s->regs[R_SPI_STATUS] |= S_RXCHOVRF;
@@ -262,9 +252,8 @@ static void spi_write(void *opaque, hwaddr addr,
MSSSpiState *s = opaque;
uint32_t value = val64;
- DB_PRINT("addr=0x%" HWADDR_PRIx " =0x%" PRIx32, addr, value);
+ trace_mss_spi_write(addr, value);
addr >>= 2;
-
switch (addr) {
case R_SPI_TX:
/* adding to already full FIFO */
diff --git a/hw/ssi/trace-events b/hw/ssi/trace-events
new file mode 100644
index 0000000000..6e494b913c
--- /dev/null
+++ b/hw/ssi/trace-events
@@ -0,0 +1,6 @@
+# See docs/devel/tracing.txt for syntax documentation.
+
+# mss-spi.c
+mss_spi_read(uint32_t addr, uint32_t value) "read addr:0x%02x value:0x%08x"
+mss_spi_write(uint32_t addr, uint32_t value) "write addr:0x%02x value:0x%08x"
+mss_spi_flush_fifo(const char *name, uint32_t value) "flush fifo:%s
value:0x%08x"
--
2.20.1