qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 26/32] hw/sd: Fix SET_BLOCK_COUNT command argument


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 26/32] hw/sd: Fix SET_BLOCK_COUNT command argument
Date: Thu, 13 Jun 2024 00:23:32 +0200
User-agent: Mozilla Thunderbird

On 3/7/23 15:25, Cédric Le Goater wrote:
The number of blocks is defined in the lower bits [15:0].

TODO: This needs to be more precise on the spec version.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
  hw/sd/sd.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index c4c9e9ee7999..7f07d0e99d15 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1282,7 +1282,7 @@ static sd_rsp_type_t sd_cmd_SET_BLOCK_COUNT(SDState *sd, 
SDRequest req)
              return sd_invalid_state_for_cmd(sd, req);
          }
- sd->multi_blk_cnt = req.arg;
+        sd->multi_blk_cnt = req.arg & 0xFFFF;

On the SD Physical Layer spec v9.10 this field is still 32-bit
(see table 4-24, p. 104).

Should we use a sd_is_emmc() helper similar to sd_is_spi()?

return sd_r1;
  }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]