On Fri, 4 Nov 2022 at 10:55, Chevron Li <chevron.li@xxxxxxxxxxxxxx> wrote: > > The SD card is recognized failed sometimes when resume from suspend. > Because CD# debounce time too long then card present report wrong. > Finally, card is recognized failed. > > Signed-off-by: Chevron Li <chevron.li@xxxxxxxxxxxxxx> Applied for next, thanks! Kind regards Uffe > --- > Change in V1: > Adjust bayhub chip setting for CD# debounce time to minimum value > --- > drivers/mmc/host/sdhci-pci-o2micro.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-pci-o2micro.c b/drivers/mmc/host/sdhci-pci-o2micro.c > index ad457cd9cbaa..bca1d095b759 100644 > --- a/drivers/mmc/host/sdhci-pci-o2micro.c > +++ b/drivers/mmc/host/sdhci-pci-o2micro.c > @@ -32,6 +32,7 @@ > #define O2_SD_CAPS 0xE0 > #define O2_SD_ADMA1 0xE2 > #define O2_SD_ADMA2 0xE7 > +#define O2_SD_MISC_CTRL2 0xF0 > #define O2_SD_INF_MOD 0xF1 > #define O2_SD_MISC_CTRL4 0xFC > #define O2_SD_MISC_CTRL 0x1C0 > @@ -877,6 +878,12 @@ static int sdhci_pci_o2_probe(struct sdhci_pci_chip *chip) > /* Set Tuning Windows to 5 */ > pci_write_config_byte(chip->pdev, > O2_SD_TUNING_CTRL, 0x55); > + //Adjust 1st and 2nd CD debounce time > + pci_read_config_dword(chip->pdev, O2_SD_MISC_CTRL2, &scratch_32); > + scratch_32 &= 0xFFE7FFFF; > + scratch_32 |= 0x00180000; > + pci_write_config_dword(chip->pdev, O2_SD_MISC_CTRL2, scratch_32); > + pci_write_config_dword(chip->pdev, O2_SD_DETECT_SETTING, 1); > /* Lock WP */ > ret = pci_read_config_byte(chip->pdev, > O2_SD_LOCK_WP, &scratch); > > base-commit: ee6050c8af96bba2f81e8b0793a1fc2f998fcd20 > -- > 2.25.1 >