Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> --- 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