mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
hw/sd: When card is in wrong state, log which spec version is used
Add the sd_version_str() helper. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
132011396f
commit
94ef3041d2
1 changed files with 16 additions and 2 deletions
18
hw/sd/sd.c
18
hw/sd/sd.c
|
@ -145,6 +145,19 @@ struct SDState {
|
||||||
|
|
||||||
static void sd_realize(DeviceState *dev, Error **errp);
|
static void sd_realize(DeviceState *dev, Error **errp);
|
||||||
|
|
||||||
|
static const char *sd_version_str(enum SDPhySpecificationVersion version)
|
||||||
|
{
|
||||||
|
static const char *sdphy_version[] = {
|
||||||
|
[SD_PHY_SPECv1_10_VERS] = "v1.10",
|
||||||
|
[SD_PHY_SPECv2_00_VERS] = "v2.00",
|
||||||
|
[SD_PHY_SPECv3_01_VERS] = "v3.01",
|
||||||
|
};
|
||||||
|
if (version >= ARRAY_SIZE(sdphy_version)) {
|
||||||
|
return "unsupported version";
|
||||||
|
}
|
||||||
|
return sdphy_version[version];
|
||||||
|
}
|
||||||
|
|
||||||
static const char *sd_state_name(enum SDCardStates state)
|
static const char *sd_state_name(enum SDCardStates state)
|
||||||
{
|
{
|
||||||
static const char *state_name[] = {
|
static const char *state_name[] = {
|
||||||
|
@ -968,8 +981,9 @@ static bool address_in_range(SDState *sd, const char *desc,
|
||||||
|
|
||||||
static sd_rsp_type_t sd_invalid_state_for_cmd(SDState *sd, SDRequest req)
|
static sd_rsp_type_t sd_invalid_state_for_cmd(SDState *sd, SDRequest req)
|
||||||
{
|
{
|
||||||
qemu_log_mask(LOG_GUEST_ERROR, "SD: CMD%i in a wrong state: %s\n",
|
qemu_log_mask(LOG_GUEST_ERROR, "SD: CMD%i in a wrong state: %s (spec %s)\n",
|
||||||
req.cmd, sd_state_name(sd->state));
|
req.cmd, sd_state_name(sd->state),
|
||||||
|
sd_version_str(sd->spec_version));
|
||||||
|
|
||||||
return sd_illegal;
|
return sd_illegal;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue