[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 10/22] hw/sd: sd: Remove duplicated codes in single/multiple
From: |
Alistair Francis |
Subject: |
Re: [PATCH 10/22] hw/sd: sd: Remove duplicated codes in single/multiple block read/write |
Date: |
Wed, 13 Jan 2021 09:02:17 -0800 |
On Thu, Dec 31, 2020 at 3:42 AM Bin Meng <bmeng.cn@gmail.com> wrote:
>
> From: Bin Meng <bin.meng@windriver.com>
>
> The single block read (CMD17) codes are the same as the multiple
> block read (CMD18). Merge them into one. The same applies to single
> block write (CMD24) and multiple block write (CMD25).
>
> Signed-off-by: Bin Meng <bin.meng@windriver.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
>
> hw/sd/sd.c | 47 -----------------------------------------------
> 1 file changed, 47 deletions(-)
>
> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> index 52c7217fe1..1ada616e1e 100644
> --- a/hw/sd/sd.c
> +++ b/hw/sd/sd.c
> @@ -1180,24 +1180,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,
> SDRequest req)
> break;
>
> case 17: /* CMD17: READ_SINGLE_BLOCK */
> - switch (sd->state) {
> - case sd_transfer_state:
> -
> - if (addr + sd->blk_len > sd->size) {
> - sd->card_status |= ADDRESS_ERROR;
> - return sd_r1;
> - }
> -
> - sd->state = sd_sendingdata_state;
> - sd->data_start = addr;
> - sd->data_offset = 0;
> - return sd_r1;
> -
> - default:
> - break;
> - }
> - break;
> -
> case 18: /* CMD18: READ_MULTIPLE_BLOCK */
> switch (sd->state) {
> case sd_transfer_state:
> @@ -1244,35 +1226,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,
> SDRequest req)
>
> /* Block write commands (Class 4) */
> case 24: /* CMD24: WRITE_SINGLE_BLOCK */
> - switch (sd->state) {
> - case sd_transfer_state:
> - /* Writing in SPI mode not implemented. */
> - if (sd->spi)
> - break;
> -
> - if (addr + sd->blk_len > sd->size) {
> - sd->card_status |= ADDRESS_ERROR;
> - return sd_r1;
> - }
> -
> - sd->state = sd_receivingdata_state;
> - sd->data_start = addr;
> - sd->data_offset = 0;
> - sd->blk_written = 0;
> -
> - if (sd_wp_addr(sd, sd->data_start)) {
> - sd->card_status |= WP_VIOLATION;
> - }
> - if (sd->csd[14] & 0x30) {
> - sd->card_status |= WP_VIOLATION;
> - }
> - return sd_r1;
> -
> - default:
> - break;
> - }
> - break;
> -
> case 25: /* CMD25: WRITE_MULTIPLE_BLOCK */
> switch (sd->state) {
> case sd_transfer_state:
> --
> 2.25.1
>
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH 10/22] hw/sd: sd: Remove duplicated codes in single/multiple block read/write,
Alistair Francis <=