mmc: rtsx_pci: Enable MMC_CAP_ERASE to allow erase/discard/trim requests
[cascardo/linux.git] / drivers / mmc / host / rtsx_pci_sdmmc.c
index 9313748..40f957e 100644 (file)
@@ -244,7 +244,7 @@ static void sd_send_cmd_get_rsp(struct realtek_pci_sdmmc *host,
        stat_idx = sd_status_index(rsp_type);
 
        if (rsp_type == SD_RSP_TYPE_R1b)
-               timeout = 3000;
+               timeout = cmd->busy_timeout ? cmd->busy_timeout : 3000;
 
        if (cmd->opcode == SD_SWITCH_VOLTAGE) {
                err = rtsx_pci_write_register(pcr, SD_BUS_STAT,
@@ -1360,7 +1360,7 @@ static void realtek_init_host(struct realtek_pci_sdmmc *host)
        mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195;
        mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SD_HIGHSPEED |
                MMC_CAP_MMC_HIGHSPEED | MMC_CAP_BUS_WIDTH_TEST |
-               MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25;
+               MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 | MMC_CAP_ERASE;
        mmc->caps2 = MMC_CAP2_NO_PRESCAN_POWERUP | MMC_CAP2_FULL_PWR_CYCLE;
        mmc->max_current_330 = 400;
        mmc->max_current_180 = 800;