qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: qemu-devel@nongnu.org
Cc: "Bin Meng" <bin.meng@windriver.com>,
	"Alistair Francis" <alistair.francis@wdc.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-block@nongnu.org
Subject: [PULL 02/18] hw/sd: sd: Remove duplicated codes in single/multiple block read/write
Date: Sat, 20 Feb 2021 01:12:53 +0100	[thread overview]
Message-ID: <20210220001309.2225022-3-f4bug@amsat.org> (raw)
In-Reply-To: <20210220001309.2225022-1-f4bug@amsat.org>

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>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20210128063035.15674-3-bmeng.cn@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/sd/sd.c | 47 -----------------------------------------------
 1 file changed, 47 deletions(-)

diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 8517dbce8ba..a85a821abbe 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1181,24 +1181,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:
@@ -1245,35 +1227,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.26.2



  parent reply	other threads:[~2021-02-20  0:15 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-20  0:12 [PULL 00/18] SD/MMC patches for 2021-02-20 Philippe Mathieu-Daudé
2021-02-20  0:12 ` [PULL 01/18] hw/sd: ssi-sd: Support multiple block read Philippe Mathieu-Daudé
2021-02-20  0:12 ` Philippe Mathieu-Daudé [this message]
2021-02-20  0:12 ` [PULL 03/18] hw/sd: sd: Allow single/multiple block write for SPI mode Philippe Mathieu-Daudé
2021-02-20  0:12 ` [PULL 04/18] hw/sd: Introduce receive_ready() callback Philippe Mathieu-Daudé
2021-02-20  0:12 ` [PULL 05/18] hw/sd: ssi-sd: Support single block write Philippe Mathieu-Daudé
2021-02-20  0:12 ` [PULL 06/18] hw/sd: ssi-sd: Support multiple " Philippe Mathieu-Daudé
2021-02-20  0:12 ` [PULL 07/18] hw/sd: ssi-sd: Fix SEND_IF_COND (CMD8) response Philippe Mathieu-Daudé
2021-02-20  0:12 ` [PULL 08/18] hw/sd: ssi-sd: Fix STOP_TRANSMISSION (CMD12) response Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 09/18] hw/sd: ssi-sd: Handle the rest commands with R1b response type Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 10/18] hw/sd: sd: Fix address check in sd_erase() Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 11/18] hw/sd: sd: Only SDSC cards support CMD28/29/30 Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 12/18] hw/sd: sd: Fix CMD30 response type Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 13/18] hw/sd: sd: Move the sd_block_{read, write} and macros ahead Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 14/18] hw/sd: sd: Skip write protect groups check in sd_erase() for high capacity cards Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 15/18] hw/sd: sd: Skip write protect groups check in CMD24/25 " Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 16/18] hw/sd: sd: Bypass the RCA check for CMD13 in SPI mode Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 17/18] hw/sd: sdhci: Simplify updating s->prnsts in sdhci_sdma_transfer_multi_blocks() Philippe Mathieu-Daudé
2021-02-20  0:13 ` [PULL 18/18] MAINTAINERS: Add Bin Meng as co-maintainer for SD/MMC cards Philippe Mathieu-Daudé
2021-02-21 11:45 ` [PULL 00/18] SD/MMC patches for 2021-02-20 Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210220001309.2225022-3-f4bug@amsat.org \
    --to=f4bug@amsat.org \
    --cc=alistair.francis@wdc.com \
    --cc=bin.meng@windriver.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).