Message ID | 20240908102018.3711527-4-avri.altman@wdc.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add SDUC Support | expand |
On Sun, 8 Sept 2024 at 12:22, Avri Altman <avri.altman@wdc.com> wrote: > > The SDUC spec expects CMD22 to get squeezed between CMD23 and the > read/write command, e.g. CMD23->CMD22->CMD18 and CMD23->CMD22->CMD25. > At this early stage of adoption, we want to avoid an amid stream of > fixes & quirks of bogus hw, that tends to apply extra logic specifically > around auto-cmd12 & auto-cmd23. > > Let's leave close-ended out for now, and re-consider this should those > cards become ubiquitous, if any. This makes sense to me. However, for clarity I would also state in the commit message that it also means that BLK_FEAT_FUA will not be used for I/O, but instead we will rely on BLK_FEAT_WRITE_CACHE. > > Reviewed-by: Adrian Hunter <adrian.hunter@intel.com> > Signed-off-by: Avri Altman <avri.altman@wdc.com> > --- > drivers/mmc/core/block.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c > index f58bea534004..05a7745c2a68 100644 > --- a/drivers/mmc/core/block.c > +++ b/drivers/mmc/core/block.c > @@ -2547,7 +2547,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, > if (mmc_host_cmd23(card->host)) { > if ((mmc_card_mmc(card) && > card->csd.mmca_vsn >= CSD_SPEC_VER_3) || > - (mmc_card_sd(card) && > + (mmc_card_sd(card) && !mmc_card_ult_capacity(card) && > card->scr.cmds & SD_SCR_CMD23_SUPPORT)) > md->flags |= MMC_BLK_CMD23; > } > -- > 2.25.1 >
> On Sun, 8 Sept 2024 at 12:22, Avri Altman <avri.altman@wdc.com> wrote: > > > > The SDUC spec expects CMD22 to get squeezed between CMD23 and the > > read/write command, e.g. CMD23->CMD22->CMD18 and CMD23->CMD22- > >CMD25. > > At this early stage of adoption, we want to avoid an amid stream of > > fixes & quirks of bogus hw, that tends to apply extra logic > > specifically around auto-cmd12 & auto-cmd23. > > > > Let's leave close-ended out for now, and re-consider this should those > > cards become ubiquitous, if any. > > This makes sense to me. However, for clarity I would also state in the commit > message that it also means that BLK_FEAT_FUA will not be used for I/O, but > instead we will rely on BLK_FEAT_WRITE_CACHE. Done. Thanks, Avri > > > > > Reviewed-by: Adrian Hunter <adrian.hunter@intel.com> > > Signed-off-by: Avri Altman <avri.altman@wdc.com> > > --- > > drivers/mmc/core/block.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index > > f58bea534004..05a7745c2a68 100644 > > --- a/drivers/mmc/core/block.c > > +++ b/drivers/mmc/core/block.c > > @@ -2547,7 +2547,7 @@ static struct mmc_blk_data > *mmc_blk_alloc_req(struct mmc_card *card, > > if (mmc_host_cmd23(card->host)) { > > if ((mmc_card_mmc(card) && > > card->csd.mmca_vsn >= CSD_SPEC_VER_3) || > > - (mmc_card_sd(card) && > > + (mmc_card_sd(card) && !mmc_card_ult_capacity(card) > > + && > > card->scr.cmds & SD_SCR_CMD23_SUPPORT)) > > md->flags |= MMC_BLK_CMD23; > > } > > -- > > 2.25.1 > >
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index f58bea534004..05a7745c2a68 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -2547,7 +2547,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, if (mmc_host_cmd23(card->host)) { if ((mmc_card_mmc(card) && card->csd.mmca_vsn >= CSD_SPEC_VER_3) || - (mmc_card_sd(card) && + (mmc_card_sd(card) && !mmc_card_ult_capacity(card) && card->scr.cmds & SD_SCR_CMD23_SUPPORT)) md->flags |= MMC_BLK_CMD23; }