mmc: core: Announce successful insertion of an SD UHS-II card
authorUlf Hansson <ulf.hansson@linaro.org>
Fri, 13 Sep 2024 10:28:17 +0000 (18:28 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 14 Oct 2024 10:40:10 +0000 (12:40 +0200)
To inform the users about SD UHS-II cards, let's extend the print at card
insertion with a "UHS-II" substring. Within this change, it seems
reasonable to convert from using "ultra high speed" into "UHS-I speed", for
the UHS-I type, as it should makes it more clear.

Note that, the new print for UHS-II cards doesn't include the actual
selected speed mode. Instead, this is going to be added from subsequent
change.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20240913102836.6144-4-victorshihgli@gmail.com
drivers/mmc/core/bus.c
include/linux/mmc/host.h

index 1470f78..9283b28 100644 (file)
@@ -346,7 +346,9 @@ int mmc_add_card(struct mmc_card *card)
        if (mmc_card_hs(card))
                speed_mode = "high speed ";
        else if (mmc_card_uhs(card))
-               speed_mode = "ultra high speed ";
+               speed_mode = "UHS-I speed ";
+       else if (mmc_card_uhs2(card->host))
+               speed_mode = "UHS-II speed ";
        else if (mmc_card_ddr52(card))
                speed_mode = "high speed DDR ";
        else if (mmc_card_hs200(card))
index e1d380d..9a14828 100644 (file)
@@ -638,6 +638,14 @@ static inline int mmc_card_uhs(struct mmc_card *card)
                card->host->ios.timing <= MMC_TIMING_UHS_DDR50;
 }
 
+static inline bool mmc_card_uhs2(struct mmc_host *host)
+{
+       return host->ios.timing == MMC_TIMING_UHS2_SPEED_A ||
+              host->ios.timing == MMC_TIMING_UHS2_SPEED_A_HD ||
+              host->ios.timing == MMC_TIMING_UHS2_SPEED_B ||
+              host->ios.timing == MMC_TIMING_UHS2_SPEED_B_HD;
+}
+
 void mmc_retune_timer_stop(struct mmc_host *host);
 
 static inline void mmc_retune_needed(struct mmc_host *host)