mmc: block: use mmc_card cmd23 helpers
authorBenoît Monin <benoit.monin@bootlin.com>
Mon, 18 Aug 2025 14:02:49 +0000 (16:02 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 19 Aug 2025 12:34:15 +0000 (14:34 +0200)
Use the dedicated helpers for CMD23 card support.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Link: https://lore.kernel.org/r/20250818-mobileye-emmc-for-upstream-4-v4-4-34ecb3995e96@bootlin.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/block.c

index 9cc47bf..8fd9891 100644 (file)
@@ -1768,8 +1768,7 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
         * these, while retaining features like reliable writes.
         */
        if ((md->flags & MMC_BLK_CMD23) && mmc_op_multi(brq->cmd.opcode) &&
-           (do_rel_wr || !(card->quirks & MMC_QUIRK_BLK_NO_CMD23) ||
-            do_data_tag)) {
+           (do_rel_wr || !mmc_card_blk_no_cmd23(card) || do_data_tag)) {
                brq->sbc.opcode = MMC_SET_BLOCK_COUNT;
                brq->sbc.arg = brq->data.blocks |
                        (do_rel_wr ? (1 << 31) : 0) |
@@ -2618,13 +2617,8 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
         */
        md->read_only = mmc_blk_readonly(card);
 
-       if (mmc_host_can_cmd23(card->host)) {
-               if ((mmc_card_mmc(card) &&
-                    card->csd.mmca_vsn >= CSD_SPEC_VER_3) ||
-                   (mmc_card_sd(card) && !mmc_card_ult_capacity(card) &&
-                    card->scr.cmds & SD_SCR_CMD23_SUPPORT))
-                       md->flags |= MMC_BLK_CMD23;
-       }
+       if (mmc_host_can_cmd23(card->host) && mmc_card_can_cmd23(card))
+               md->flags |= MMC_BLK_CMD23;
 
        if (md->flags & MMC_BLK_CMD23 &&
            ((card->ext_csd.rel_param & EXT_CSD_WR_REL_PARAM_EN) ||