diff options
Diffstat (limited to 'drivers/mmc/host/rtsx_pci_sdmmc.c')
| -rw-r--r-- | drivers/mmc/host/rtsx_pci_sdmmc.c | 30 | 
1 files changed, 5 insertions, 25 deletions
diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c b/drivers/mmc/host/rtsx_pci_sdmmc.c index 571915dfb21..f74b5adca64 100644 --- a/drivers/mmc/host/rtsx_pci_sdmmc.c +++ b/drivers/mmc/host/rtsx_pci_sdmmc.c @@ -1060,26 +1060,6 @@ static int sd_wait_voltage_stable_2(struct realtek_pci_sdmmc *host)  	return 0;  } -static int sd_change_bank_voltage(struct realtek_pci_sdmmc *host, u8 voltage) -{ -	struct rtsx_pcr *pcr = host->pcr; -	int err; - -	if (voltage == SD_IO_3V3) { -		err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4FC0 | 0x24); -		if (err < 0) -			return err; -	} else if (voltage == SD_IO_1V8) { -		err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4C40 | 0x24); -		if (err < 0) -			return err; -	} else { -		return -EINVAL; -	} - -	return 0; -} -  static int sdmmc_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios)  {  	struct realtek_pci_sdmmc *host = mmc_priv(mmc); @@ -1098,11 +1078,11 @@ static int sdmmc_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios)  	rtsx_pci_start_run(pcr);  	if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) -		voltage = SD_IO_3V3; +		voltage = OUTPUT_3V3;  	else -		voltage = SD_IO_1V8; +		voltage = OUTPUT_1V8; -	if (voltage == SD_IO_1V8) { +	if (voltage == OUTPUT_1V8) {  		err = rtsx_pci_write_register(pcr,  				SD30_DRIVE_SEL, 0x07, DRIVER_TYPE_B);  		if (err < 0) @@ -1113,11 +1093,11 @@ static int sdmmc_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios)  			goto out;  	} -	err = sd_change_bank_voltage(host, voltage); +	err = rtsx_pci_switch_output_voltage(pcr, voltage);  	if (err < 0)  		goto out; -	if (voltage == SD_IO_1V8) { +	if (voltage == OUTPUT_1V8) {  		err = sd_wait_voltage_stable_2(host);  		if (err < 0)  			goto out;  |