diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2016-01-26 14:41:20 +0100 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2016-02-29 11:03:23 +0100 |
commit | fce1442164cff51250c8f264b3757fd76f2a955b (patch) | |
tree | 74a6273b244ed54c3d0bb81ffbc7fd413f79d432 /drivers/mmc | |
parent | mmc: sdhci: consolidate the DMA/ADMA size/address quicks (diff) | |
download | linux-fce1442164cff51250c8f264b3757fd76f2a955b.tar.xz linux-fce1442164cff51250c8f264b3757fd76f2a955b.zip |
mmc: sdhci: further code simplication
Further simplify the code in sdhci_prepare_data() - we don't set
SDHCI_REQ_USE_DMA anywhere else in the driver, so there is no
need to set it, and then immediately test it.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/sdhci.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 2bd6bc1aca28..03fbb36580f7 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -725,21 +725,20 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd) host->data_early = 0; host->data->bytes_xfered = 0; - if (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) - host->flags |= SDHCI_REQ_USE_DMA; - - /* - * FIXME: This doesn't account for merging when mapping the - * scatterlist. - * - * The assumption here being that alignment and lengths are - * the same after DMA mapping to device address space. - */ - if (host->flags & SDHCI_REQ_USE_DMA) { + if (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) { struct scatterlist *sg; unsigned int length_mask, offset_mask; int i; + host->flags |= SDHCI_REQ_USE_DMA; + + /* + * FIXME: This doesn't account for merging when mapping the + * scatterlist. + * + * The assumption here being that alignment and lengths are + * the same after DMA mapping to device address space. + */ length_mask = 0; offset_mask = 0; if (host->flags & SDHCI_USE_ADMA) { |