[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/26] sdcard: add a sdcard_set_state() trace event
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH 09/26] sdcard: add a sdcard_set_state() trace event |
Date: |
Wed, 13 Dec 2017 20:20:08 -0300 |
and his sd_state_name() companion to pretty-print the SDCardState.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/sd/sd.c | 24 +++++++++++++++++++++++-
hw/sd/trace-events | 1 +
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index f67c9ff49c..bd4a896cba 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -139,6 +139,25 @@ static const char *sd_mode_name(enum SDCardModes mode)
return mode_name[mode];
}
+static const char *sd_state_name(enum SDCardStates state)
+{
+ static const char *state_name[] = {
+ [sd_idle_state] = "idle",
+ [sd_ready_state] = "ready",
+ [sd_identification_state] = "identification",
+ [sd_standby_state] = "standby",
+ [sd_transfer_state] = "transfer",
+ [sd_sendingdata_state] = "sendingdata",
+ [sd_receivingdata_state] = "receivingdata",
+ [sd_programming_state] = "programming",
+ [sd_disconnect_state] = "disconnect",
+ };
+ if (state == sd_inactive_state) {
+ return "inactive";
+ }
+ return state_name[state];
+}
+
static void sd_set_mode(SDState *sd, enum SDCardModes mode)
{
if (sd->mode != mode) {
@@ -173,7 +192,10 @@ static void sd_update_mode(SDState *sd)
static void sd_set_state(SDState *sd, enum SDCardStates state)
{
- sd->state = state;
+ if (sd->state != state) {
+ trace_sdcard_set_state(sd_state_name(sd->state), sd_state_name(state));
+ sd->state = state;
+ }
}
static const sd_cmd_type_t sd_cmd_type[64] = {
diff --git a/hw/sd/trace-events b/hw/sd/trace-events
index 369d258d10..2677c2195d 100644
--- a/hw/sd/trace-events
+++ b/hw/sd/trace-events
@@ -23,6 +23,7 @@ sdhci_led(bool state) "LED: %u"
# hw/sd/sd.c
sdcard_set_mode(const char *current_mode, const char *new_mode) "%s -> %s"
+sdcard_set_state(const char *current_state, const char *new_state) "%s -> %s"
# hw/sd/milkymist-memcard.c
milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x
value 0x%08x"
--
2.15.1
- [Qemu-devel] [PATCH 00/26] SDCard housekeeping, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 01/26] sdbus: add a QMP command to access a SDBus, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [RFC PATCH 02/26] sdcard: add a Python qtest, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 03/26] sdcard: use ldst API, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 04/26] sdcard: replace fprintf() -> qemu_log_mask(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 05/26] sdcard: rename sd_set_mode() -> sd_update_mode(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 06/26] sdcard: add sd_set_mode(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 07/26] sdcard: add sdcard_set_mode() trace event, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 08/26] sdcard: add sd_set_state(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 10/26] sdcard: use more detailled state/mode trace events, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 09/26] sdcard: add a sdcard_set_state() trace event,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 11/26] sdcard: use warn_report() instead of fprintf(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 12/26] sdcard: replace DPRINTF() by trace events, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 13/26] sdcard: add more trace events, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [RFC PATCH 14/26] sdcard: use qemu_hexbuf_strdup() to trace command response, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 15/26] sdcard: use PW_LEN define instead of '16' magic, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 16/26] sdcard: let cmd_valid_while_locked() returns a bool, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 17/26] sdcard: rename sd_set_REG() functions called by sd_reset() as sd_reset_REG(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 18/26] sdcard: move Memory Card registers together, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 19/26] sdcard: add DSR register, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 20/26] sdcard: add/use SD_CMD_MAX to check valid SD commands, Philippe Mathieu-Daudé, 2017/12/13