mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
mmc: core: Enable SDUC
Enable SDUC if the card responded to ACMD41 with HCS & HO2T bits set. Reviewed-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Avri Altman <avri.altman@wdc.com> Link: https://lore.kernel.org/r/20241006051148.160278-11-avri.altman@wdc.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
a786165194
commit
899404e150
|
|
@ -836,8 +836,11 @@ int mmc_sd_get_cid(struct mmc_host *host, u32 ocr, u32 *cid, u32 *rocr)
|
|||
* block-addressed SDHC cards.
|
||||
*/
|
||||
err = mmc_send_if_cond(host, ocr);
|
||||
if (!err)
|
||||
if (!err) {
|
||||
ocr |= SD_OCR_CCS;
|
||||
/* Set HO2T as well - SDUC card won't respond otherwise */
|
||||
ocr |= SD_OCR_2T;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the host supports one of UHS-I modes, request the card
|
||||
|
|
@ -1448,7 +1451,10 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
|
|||
}
|
||||
|
||||
if (!oldcard) {
|
||||
err = mmc_sd_get_csd(card, false);
|
||||
u32 sduc_arg = SD_OCR_CCS | SD_OCR_2T;
|
||||
bool is_sduc = (rocr & sduc_arg) == sduc_arg;
|
||||
|
||||
err = mmc_sd_get_csd(card, is_sduc);
|
||||
if (err)
|
||||
goto free_card;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user