Klaus,

On 3/31/22 06:32, Joe Komlodi wrote:
Signed-off-by: Joe Komlodi <koml...@google.com>
Change-Id: I566eb09f4b9016e24570572f367627f6594039f5
---
  hw/i2c/aspeed_i2c.c | 3 +++
  hw/i2c/trace-events | 2 +-
  2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/hw/i2c/aspeed_i2c.c b/hw/i2c/aspeed_i2c.c
index 948d8dc2bb..f179f78ee9 100644
--- a/hw/i2c/aspeed_i2c.c
+++ b/hw/i2c/aspeed_i2c.c
@@ -305,6 +305,9 @@ static inline void 
aspeed_i2c_bus_raise_interrupt(AspeedI2CBus *bus)
      bool raise_irq;
trace_aspeed_i2c_bus_raise_interrupt(bus->regs[reg_intr_sts],
+        aspeed_i2c_bus_pkt_mode_en(bus) &&
+        ARRAY_FIELD_EX32(bus->regs, I2CM_INTR_STS, PKT_CMD_DONE) ?
+                                                               "pktdone|" : "",
          SHARED_ARRAY_FIELD_EX32(bus->regs, reg_intr_sts, TX_NAK) ? "nak|" : 
"",
          SHARED_ARRAY_FIELD_EX32(bus->regs, reg_intr_sts, TX_ACK) ? "ack|" : 
"",
          SHARED_ARRAY_FIELD_EX32(bus->regs, reg_intr_sts, RX_DONE) ? "done|"


If you resend the I2C slave proposal, can you please add the above flag
in the patch modifying the trace event. Troy and Joe would benefit from it.

The change to register fields can come later.

Thanks,

C.

diff --git a/hw/i2c/trace-events b/hw/i2c/trace-events
index 7d8907c1ee..85e4bddff9 100644
--- a/hw/i2c/trace-events
+++ b/hw/i2c/trace-events
@@ -9,7 +9,7 @@ i2c_recv(uint8_t address, uint8_t data) "recv(addr:0x%02x) 
data:0x%02x"
  # aspeed_i2c.c
aspeed_i2c_bus_cmd(uint32_t cmd, const char *cmd_flags, uint32_t count, uint32_t intr_status) "handling cmd=0x%x %s count=%d intr=0x%x"
-aspeed_i2c_bus_raise_interrupt(uint32_t intr_status, const char *str1, const char *str2, 
const char *str3, const char *str4, const char *str5) "handled intr=0x%x 
%s%s%s%s%s"
+aspeed_i2c_bus_raise_interrupt(uint32_t intr_status, const char *str1, const char *str2, 
const char *str3, const char *str4, const char *str5, const char *str6) "handled 
intr=0x%x %s%s%s%s%s%s"
  aspeed_i2c_bus_read(uint32_t busid, uint64_t offset, unsigned size, uint64_t value) 
"bus[%d]: To 0x%" PRIx64 " of size %u: 0x%" PRIx64
  aspeed_i2c_bus_write(uint32_t busid, uint64_t offset, unsigned size, uint64_t value) 
"bus[%d]: To 0x%" PRIx64 " of size %u: 0x%" PRIx64
  aspeed_i2c_bus_send(const char *mode, int i, int count, uint8_t byte) "%s send 
%d/%d 0x%02x"


Reply via email to