mmc: sdhci-msm: set dma mask for lpae/64-bit machines
On machines that support more than 32-bit address via lpae or 64-bit buses set the dma mask as 64-bit. Change-Id: Ida88f3999fd5e7d09ebe73bb3481d3f1f4cf30c2 Signed-off-by: Krishna Konda <kkonda@codeaurora.org>
This commit is contained in:
parent
29ff049489
commit
9df7e24765
1 changed files with 8 additions and 1 deletions
|
@ -91,6 +91,9 @@
|
|||
#define CORE_HC_SELECT_IN_HS400 (6 << 19)
|
||||
#define CORE_HC_SELECT_IN_MASK (7 << 19)
|
||||
|
||||
#define CORE_VENDOR_SPEC_CAPABILITIES0 0x11C
|
||||
#define CORE_SYS_BUS_SUPPORT_64_BIT 28
|
||||
|
||||
#define CORE_VENDOR_SPEC_ADMA_ERR_ADDR0 0x114
|
||||
#define CORE_VENDOR_SPEC_ADMA_ERR_ADDR1 0x118
|
||||
|
||||
|
@ -2936,7 +2939,11 @@ static int sdhci_msm_probe(struct platform_device *pdev)
|
|||
}
|
||||
}
|
||||
|
||||
if (dma_supported(mmc_dev(host->mmc), DMA_BIT_MASK(32))) {
|
||||
if ((sdhci_readl(host, SDHCI_CAPABILITIES) & SDHCI_CAN_64BIT) &&
|
||||
(dma_supported(mmc_dev(host->mmc), DMA_BIT_MASK(64)))) {
|
||||
host->dma_mask = DMA_BIT_MASK(64);
|
||||
mmc_dev(host->mmc)->dma_mask = &host->dma_mask;
|
||||
} else if (dma_supported(mmc_dev(host->mmc), DMA_BIT_MASK(32))) {
|
||||
host->dma_mask = DMA_BIT_MASK(32);
|
||||
mmc_dev(host->mmc)->dma_mask = &host->dma_mask;
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue