RE: [PATCH V1 1/1] mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce timeout

From: Louis Lu(TP)
Date: Wed Nov 16 2022 - 01:04:50 EST


Hi Uffe,

May we check when this update patched will be phased in?

Thanks,
Best Regards,
Louis Lu

-----Original Message-----
From: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Sent: Tuesday, November 8, 2022 4:13 AM
To: Chevron Li (WH) <chevron.li@xxxxxxxxxxxxxx>
Cc: adrian.hunter@xxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Shaper Liu (WH) <shaper.liu@xxxxxxxxxxxxxx>; XiaoGuang Yu (WH) <xiaoguang.yu@xxxxxxxxxxxxxx>; Shirley Her(SC) <shirley.her@xxxxxxxxxxxxxx>; Louis Lu(TP) <louis.lu@xxxxxxxxxxxxxx>
Subject: Re: [PATCH V1 1/1] mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce timeout

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
>