mirror of https://gitee.com/openkylin/qemu.git
sdbus: add trace events
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Alistair Francis <alistair.francis@xilinx.com> Message-Id: <20180208164818.7961-21-f4bug@amsat.org>
This commit is contained in:
parent
ea55a221bf
commit
238cd93567
14
hw/sd/core.c
14
hw/sd/core.c
|
@ -23,6 +23,12 @@
|
||||||
#include "hw/qdev-core.h"
|
#include "hw/qdev-core.h"
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
#include "hw/sd/sd.h"
|
#include "hw/sd/sd.h"
|
||||||
|
#include "trace.h"
|
||||||
|
|
||||||
|
static inline const char *sdbus_name(SDBus *sdbus)
|
||||||
|
{
|
||||||
|
return sdbus->qbus.name;
|
||||||
|
}
|
||||||
|
|
||||||
static SDState *get_card(SDBus *sdbus)
|
static SDState *get_card(SDBus *sdbus)
|
||||||
{
|
{
|
||||||
|
@ -39,6 +45,7 @@ int sdbus_do_command(SDBus *sdbus, SDRequest *req, uint8_t *response)
|
||||||
{
|
{
|
||||||
SDState *card = get_card(sdbus);
|
SDState *card = get_card(sdbus);
|
||||||
|
|
||||||
|
trace_sdbus_command(sdbus_name(sdbus), req->cmd, req->arg, req->crc);
|
||||||
if (card) {
|
if (card) {
|
||||||
SDCardClass *sc = SD_CARD_GET_CLASS(card);
|
SDCardClass *sc = SD_CARD_GET_CLASS(card);
|
||||||
|
|
||||||
|
@ -52,6 +59,7 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value)
|
||||||
{
|
{
|
||||||
SDState *card = get_card(sdbus);
|
SDState *card = get_card(sdbus);
|
||||||
|
|
||||||
|
trace_sdbus_write(sdbus_name(sdbus), value);
|
||||||
if (card) {
|
if (card) {
|
||||||
SDCardClass *sc = SD_CARD_GET_CLASS(card);
|
SDCardClass *sc = SD_CARD_GET_CLASS(card);
|
||||||
|
|
||||||
|
@ -62,14 +70,16 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value)
|
||||||
uint8_t sdbus_read_data(SDBus *sdbus)
|
uint8_t sdbus_read_data(SDBus *sdbus)
|
||||||
{
|
{
|
||||||
SDState *card = get_card(sdbus);
|
SDState *card = get_card(sdbus);
|
||||||
|
uint8_t value = 0;
|
||||||
|
|
||||||
if (card) {
|
if (card) {
|
||||||
SDCardClass *sc = SD_CARD_GET_CLASS(card);
|
SDCardClass *sc = SD_CARD_GET_CLASS(card);
|
||||||
|
|
||||||
return sc->read_data(card);
|
value = sc->read_data(card);
|
||||||
}
|
}
|
||||||
|
trace_sdbus_read(sdbus_name(sdbus), value);
|
||||||
|
|
||||||
return 0;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sdbus_data_ready(SDBus *sdbus)
|
bool sdbus_data_ready(SDBus *sdbus)
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
# See docs/devel/tracing.txt for syntax documentation.
|
# See docs/devel/tracing.txt for syntax documentation.
|
||||||
|
|
||||||
|
# hw/sd/core.c
|
||||||
|
sdbus_command(const char *bus_name, uint8_t cmd, uint32_t arg, uint8_t crc) "@%s CMD%02d arg 0x%08x crc 0x%02x"
|
||||||
|
sdbus_read(const char *bus_name, uint8_t value) "@%s value 0x%02x"
|
||||||
|
sdbus_write(const char *bus_name, uint8_t value) "@%s value 0x%02x"
|
||||||
|
|
||||||
# hw/sd/sdhci.c
|
# hw/sd/sdhci.c
|
||||||
sdhci_set_inserted(const char *level) "card state changed: %s"
|
sdhci_set_inserted(const char *level) "card state changed: %s"
|
||||||
sdhci_send_command(uint8_t cmd, uint32_t arg) "CMD%02u ARG[0x%08x]"
|
sdhci_send_command(uint8_t cmd, uint32_t arg) "CMD%02u ARG[0x%08x]"
|
||||||
|
|
Loading…
Reference in New Issue