Changing Mode of transfer of SDMMC3 from DMA to PIO

Hello,
I’m trying to interface a QCA9377 based SDIO wifi module with a custom carrier board that is powered by Jetson Xavier NX. I have been using the wifi driver(ath10k) and I’m facing an sdio issue where I dont get SDIO interrupts while scanning during mid scan. For debugging this issue I have been trying several methods in the sdio front and for one of them I’m trying to change the SDIO mode of transfer from DMA to PIO. How do i change the mode of operation from ADMA to PIO (PIO is supported as per the Xavier NX’s reference manual) ?

Hi,

Could you try to use below patch in the sdhci driver?

diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c

index a8e6a6d..67d96df 100644

--- a/drivers/mmc/host/sdhci-tegra.c

+++ b/drivers/mmc/host/sdhci-tegra.c

@@ -2037,6 +2037,8 @@ static const struct sdhci_pltfm_data sdhci_tegra194_pdata = {

                  SDHCI_QUIRK_NO_HISPD_BIT |

                SDHCI_QUIRK_NO_HISPD_BIT |

                SDHCI_QUIRK_BROKEN_ADMA_ZEROLEN_DESC |

+               SDHCI_QUIRK_BROKEN_DMA |

+               SDHCI_QUIRK_BROKEN_ADMA |

                SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,

        .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |

                SDHCI_QUIRK2_USE_64BIT_ADDR |