* [PATCH v2 0/2]
@ 2025-07-04 9:03 Rex Chen
2025-07-04 9:03 ` [PATCH v2 1/2] mmc: core: SPI mode remove cmd7 Rex Chen
2025-07-04 9:03 ` [PATCH v2 2/2] mmc: mmc_spi: multiple block read remove read crc ack Rex Chen
0 siblings, 2 replies; 4+ messages in thread
From: Rex Chen @ 2025-07-04 9:03 UTC (permalink / raw)
To: ulf.hansson
Cc: conor.dooley, bartosz.golaszewski, viro, linux-mmc, avri.altman,
shawn.lin, adrian.hunter, wsa+renesas, rex.chen_1
[patch 1/2]
Update based on reviewer comments
[patch 2/2]
No change for patch 2
Rex Chen (2):
mmc: core: SPI mode remove cmd7
mmc: mmc_spi: multiple block read remove read crc ack
drivers/mmc/core/sdio.c | 6 +++++-
drivers/mmc/host/mmc_spi.c | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 1/2] mmc: core: SPI mode remove cmd7
2025-07-04 9:03 [PATCH v2 0/2] Rex Chen
@ 2025-07-04 9:03 ` Rex Chen
2025-07-04 9:03 ` [PATCH v2 2/2] mmc: mmc_spi: multiple block read remove read crc ack Rex Chen
1 sibling, 0 replies; 4+ messages in thread
From: Rex Chen @ 2025-07-04 9:03 UTC (permalink / raw)
To: ulf.hansson
Cc: conor.dooley, bartosz.golaszewski, viro, linux-mmc, avri.altman,
shawn.lin, adrian.hunter, wsa+renesas, rex.chen_1
SPI mode doesn't support cmd7, so remove it in mmc_sdio_alive() and
confirm if sdio is active by checking CCCR register value is available
or not.
Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
---
drivers/mmc/core/sdio.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index 0f753367aec1..83085e76486a 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -945,7 +945,11 @@ static void mmc_sdio_remove(struct mmc_host *host)
*/
static int mmc_sdio_alive(struct mmc_host *host)
{
- return mmc_select_card(host->card);
+ if (!mmc_host_is_spi(host))
+ return mmc_select_card(host->card);
+ else
+ return mmc_io_rw_direct(host->card, 0, 0, SDIO_CCCR_CCCR, 0,
+ NULL);
}
/*
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] mmc: mmc_spi: multiple block read remove read crc ack
2025-07-04 9:03 [PATCH v2 0/2] Rex Chen
2025-07-04 9:03 ` [PATCH v2 1/2] mmc: core: SPI mode remove cmd7 Rex Chen
@ 2025-07-04 9:03 ` Rex Chen
2025-07-04 10:13 ` Ulf Hansson
1 sibling, 1 reply; 4+ messages in thread
From: Rex Chen @ 2025-07-04 9:03 UTC (permalink / raw)
To: ulf.hansson
Cc: conor.dooley, bartosz.golaszewski, viro, linux-mmc, avri.altman,
shawn.lin, adrian.hunter, wsa+renesas, rex.chen_1
Multiple block read doesn't need to read crc ack, so remove it.
Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
---
drivers/mmc/host/mmc_spi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
index 47443fb5eb33..f42d5f9c48c1 100644
--- a/drivers/mmc/host/mmc_spi.c
+++ b/drivers/mmc/host/mmc_spi.c
@@ -563,7 +563,7 @@ mmc_spi_setup_data_message(struct mmc_spi_host *host, bool multiple, bool write)
* the next token (next data block, or STOP_TRAN). We can try to
* minimize I/O ops by using a single read to collect end-of-busy.
*/
- if (multiple || write) {
+ if (write) {
t = &host->early_status;
memset(t, 0, sizeof(*t));
t->len = write ? sizeof(scratch->status) : 1;
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] mmc: mmc_spi: multiple block read remove read crc ack
2025-07-04 9:03 ` [PATCH v2 2/2] mmc: mmc_spi: multiple block read remove read crc ack Rex Chen
@ 2025-07-04 10:13 ` Ulf Hansson
0 siblings, 0 replies; 4+ messages in thread
From: Ulf Hansson @ 2025-07-04 10:13 UTC (permalink / raw)
To: Rex Chen
Cc: conor.dooley, bartosz.golaszewski, viro, linux-mmc, avri.altman,
shawn.lin, adrian.hunter, wsa+renesas
On Fri, 4 Jul 2025 at 11:03, Rex Chen <rex.chen_1@nxp.com> wrote:
>
> Multiple block read doesn't need to read crc ack, so remove it.
In v1 I asked for more information here, as this is just too vague.
Exactly *why* doesn't multiple block read need CRC ack? Please
elaborate on that here, in the commit message.
Kind regards
Uffe
>
> Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
> ---
> drivers/mmc/host/mmc_spi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
> index 47443fb5eb33..f42d5f9c48c1 100644
> --- a/drivers/mmc/host/mmc_spi.c
> +++ b/drivers/mmc/host/mmc_spi.c
> @@ -563,7 +563,7 @@ mmc_spi_setup_data_message(struct mmc_spi_host *host, bool multiple, bool write)
> * the next token (next data block, or STOP_TRAN). We can try to
> * minimize I/O ops by using a single read to collect end-of-busy.
> */
> - if (multiple || write) {
> + if (write) {
> t = &host->early_status;
> memset(t, 0, sizeof(*t));
> t->len = write ? sizeof(scratch->status) : 1;
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-07-04 10:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-04 9:03 [PATCH v2 0/2] Rex Chen
2025-07-04 9:03 ` [PATCH v2 1/2] mmc: core: SPI mode remove cmd7 Rex Chen
2025-07-04 9:03 ` [PATCH v2 2/2] mmc: mmc_spi: multiple block read remove read crc ack Rex Chen
2025-07-04 10:13 ` Ulf Hansson
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).