Loading drivers/mmc/host/sdhci.c +4 −0 Original line number Diff line number Diff line Loading @@ -898,6 +898,10 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd) host->flags |= SDHCI_REQ_USE_DMA; if ((host->quirks2 & SDHCI_QUIRK2_USE_PIO_FOR_EMMC_TUNING) && cmd->opcode == MMC_SEND_TUNING_BLOCK_HS200) host->flags &= ~SDHCI_REQ_USE_DMA; /* * FIXME: This doesn't account for merging when mapping the * scatterlist. Loading drivers/mmc/host/sdhci.h +6 −0 Original line number Diff line number Diff line Loading @@ -514,6 +514,12 @@ struct sdhci_host { * phase. */ #define SDHCI_QUIRK2_NON_STANDARD_TUNING (1 << 28) /* * Some controllers may use PIO mode to workaround HW issues in ADMA for * eMMC tuning commands. */ #define SDHCI_QUIRK2_USE_PIO_FOR_EMMC_TUNING (1 << 23) int irq; /* Device IRQ */ void __iomem *ioaddr; /* Mapped address */ Loading Loading
drivers/mmc/host/sdhci.c +4 −0 Original line number Diff line number Diff line Loading @@ -898,6 +898,10 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd) host->flags |= SDHCI_REQ_USE_DMA; if ((host->quirks2 & SDHCI_QUIRK2_USE_PIO_FOR_EMMC_TUNING) && cmd->opcode == MMC_SEND_TUNING_BLOCK_HS200) host->flags &= ~SDHCI_REQ_USE_DMA; /* * FIXME: This doesn't account for merging when mapping the * scatterlist. Loading
drivers/mmc/host/sdhci.h +6 −0 Original line number Diff line number Diff line Loading @@ -514,6 +514,12 @@ struct sdhci_host { * phase. */ #define SDHCI_QUIRK2_NON_STANDARD_TUNING (1 << 28) /* * Some controllers may use PIO mode to workaround HW issues in ADMA for * eMMC tuning commands. */ #define SDHCI_QUIRK2_USE_PIO_FOR_EMMC_TUNING (1 << 23) int irq; /* Device IRQ */ void __iomem *ioaddr; /* Mapped address */ Loading