hw/sd/sdcard: Fix SET_BLOCK_COUNT command argument on eMMC (CMD23)

The number of blocks is defined in the lower bits [15:0].

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240712162719.88165-6-philmd@linaro.org>
This commit is contained in:
Cédric Le Goater 2021-05-11 13:58:47 +02:00 committed by Philippe Mathieu-Daudé
parent 3007fa1156
commit 7851548485

View File

@ -1533,6 +1533,9 @@ static sd_rsp_type_t sd_cmd_SET_BLOCK_COUNT(SDState *sd, SDRequest req)
}
sd->multi_blk_cnt = req.arg;
if (sd_is_emmc(sd)) {
sd->multi_blk_cnt &= 0xffff;
}
trace_sdcard_set_block_count(sd->multi_blk_cnt);
return sd_r1;