[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 9/9] hw/sd: ssi-sd: Handle the rest commands with R1b resp
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v4 9/9] hw/sd: ssi-sd: Handle the rest commands with R1b response type |
Date: |
Mon, 8 Feb 2021 15:08:39 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 1/28/21 7:30 AM, Bin Meng wrote:
> From: Bin Meng <bin.meng@windriver.com>
>
> Besides CMD12, the following command's reponse type is R1b:
>
> - SET_WRITE_PROT (CMD28)
> - CLR_WRITE_PROT (CMD29)
> - ERASE (CMD38)
>
> Reuse the same s->stopping to indicate a R1b reponse is needed.
>
> Signed-off-by: Bin Meng <bin.meng@windriver.com>
>
> ---
>
> Changes in v4:
> - new patch: handle the rest commands with R1b response type
>
> hw/sd/ssi-sd.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
> index 907d681d19..97ee58e20c 100644
> --- a/hw/sd/ssi-sd.c
> +++ b/hw/sd/ssi-sd.c
> @@ -194,6 +194,12 @@ static uint32_t ssi_sd_transfer(SSIPeripheral *dev,
> uint32_t val)
> /* CMD13 returns a 2-byte statuse work. Other commands
> only return the first byte. */
> s->arglen = (s->cmd == 13) ? 2 : 1;
> +
> + /* handle R1b */
> + if (s->cmd == 28 || s->cmd == 29 || s->cmd == 38) {
Why not also check CMD13 for completeness?
Otherwise:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> + s->stopping = 1;
> + }
> +
> cardstatus = ldl_be_p(longresp);
> status = 0;
> if (((cardstatus >> 9) & 0xf) < 4)
>
- Re: [PATCH v4 9/9] hw/sd: ssi-sd: Handle the rest commands with R1b response type,
Philippe Mathieu-Daudé <=