From: Corey Minyard <corey@minyard.net>
To: Titus Rwantare <titusr@google.com>
Cc: philmd@linaro.org, minyard@acm.org, its@irrelevant.dk,
qemu-arm@nongnu.org, qemu-devel@nongnu.org, clg@kaod.org
Subject: Re: [PATCH v2] hw/misc: i2c-echo: add tracing
Date: Wed, 22 Jan 2025 06:46:09 -0600 [thread overview]
Message-ID: <Z5DokVWHDvdZO1jD@mail.minyard.net> (raw)
In-Reply-To: <20250121105935.3069035-1-titusr@google.com>
On Tue, Jan 21, 2025 at 10:59:34AM +0000, Titus Rwantare wrote:
> This has been useful when debugging and unsure if the guest is
> generating i2c traffic.
Acked-by: Corey Minyard <cminyard@mvista.com>
>
> Signed-off-by: Titus Rwantare <titusr@google.com>
> ---
> hw/misc/i2c-echo.c | 8 ++++++++
> hw/misc/trace-events | 5 +++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/hw/misc/i2c-echo.c b/hw/misc/i2c-echo.c
> index 5ae3d0817e..65d10029dc 100644
> --- a/hw/misc/i2c-echo.c
> +++ b/hw/misc/i2c-echo.c
> @@ -13,6 +13,7 @@
> #include "qemu/main-loop.h"
> #include "block/aio.h"
> #include "hw/i2c/i2c.h"
> +#include "trace.h"
>
> #define TYPE_I2C_ECHO "i2c-echo"
> OBJECT_DECLARE_SIMPLE_TYPE(I2CEchoState, I2C_ECHO)
> @@ -80,11 +81,13 @@ static int i2c_echo_event(I2CSlave *s, enum i2c_event event)
> case I2C_START_RECV:
> state->pos = 0;
>
> + trace_i2c_echo_event(DEVICE(s)->canonical_path, "I2C_START_RECV");
> break;
>
> case I2C_START_SEND:
> state->pos = 0;
>
> + trace_i2c_echo_event(DEVICE(s)->canonical_path, "I2C_START_SEND");
> break;
>
> case I2C_FINISH:
> @@ -92,12 +95,15 @@ static int i2c_echo_event(I2CSlave *s, enum i2c_event event)
> state->state = I2C_ECHO_STATE_START_SEND;
> i2c_bus_master(state->bus, state->bh);
>
> + trace_i2c_echo_event(DEVICE(s)->canonical_path, "I2C_FINISH");
> break;
>
> case I2C_NACK:
> + trace_i2c_echo_event(DEVICE(s)->canonical_path, "I2C_NACK");
> break;
>
> default:
> + trace_i2c_echo_event(DEVICE(s)->canonical_path, "UNHANDLED");
> return -1;
> }
>
> @@ -112,6 +118,7 @@ static uint8_t i2c_echo_recv(I2CSlave *s)
> return 0xff;
> }
>
> + trace_i2c_echo_recv(DEVICE(s)->canonical_path, state->data[state->pos]);
> return state->data[state->pos++];
> }
>
> @@ -119,6 +126,7 @@ static int i2c_echo_send(I2CSlave *s, uint8_t data)
> {
> I2CEchoState *state = I2C_ECHO(s);
>
> + trace_i2c_echo_send(DEVICE(s)->canonical_path, data);
> if (state->pos > 2) {
> return -1;
> }
> diff --git a/hw/misc/trace-events b/hw/misc/trace-events
> index cf1abe6928..d58dca2389 100644
> --- a/hw/misc/trace-events
> +++ b/hw/misc/trace-events
> @@ -390,3 +390,8 @@ ivshmem_flat_read_write_mmr_invalid(uint64_t addr_offset) "No ivshmem register m
> ivshmem_flat_interrupt_invalid_peer(uint16_t peer_id) "Can't interrupt non-existing peer %u"
> ivshmem_flat_write_mmr(uint64_t addr_offset) "Write access at offset %"PRIu64
> ivshmem_flat_interrupt_peer(uint16_t peer_id, uint16_t vector_id) "Interrupting peer ID %u, vector %u..."
> +
> +#i2c-echo.c
> +i2c_echo_event(const char *id, const char *event) "%s: %s"
> +i2c_echo_recv(const char *id, uint8_t data) "%s: recv 0x%" PRIx8
> +i2c_echo_send(const char *id, uint8_t data) "%s: send 0x%" PRIx8
> --
> 2.48.0.rc2.279.g1de40edade-goog
>
prev parent reply other threads:[~2025-01-22 12:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-21 10:59 [PATCH v2] hw/misc: i2c-echo: add tracing Titus Rwantare
2025-01-22 6:38 ` Hao Wu
2025-01-22 7:00 ` Philippe Mathieu-Daudé
2025-01-22 12:46 ` Corey Minyard [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z5DokVWHDvdZO1jD@mail.minyard.net \
--to=corey@minyard.net \
--cc=clg@kaod.org \
--cc=its@irrelevant.dk \
--cc=minyard@acm.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=titusr@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.