summaryrefslogtreecommitdiffstats
path: root/arch/riscv/include/asm/fixmap.h
diff options
context:
space:
mode:
authorNagarjuna Kristam <nkristam@nvidia.com>2019-08-28 16:24:57 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-09-21 07:18:39 +0200
commit22c52133552215a8f41cc6a14249be364573b7f1 (patch)
treed6543d9b7357e196ca752228ecf4bc51b325dff7 /arch/riscv/include/asm/fixmap.h
parent97b1d81abc613a3e6b1caf9565897824ff1fb2a4 (diff)
downloadlinux-stable-22c52133552215a8f41cc6a14249be364573b7f1.tar.gz
linux-stable-22c52133552215a8f41cc6a14249be364573b7f1.tar.bz2
linux-stable-22c52133552215a8f41cc6a14249be364573b7f1.zip
usb: host: xhci-tegra: Set DMA mask correctly
[ Upstream commit 993cc8753453fccfe060a535bbe21fcf1001b626 ] The Falcon microcontroller that runs the XUSB firmware and which is responsible for exposing the XHCI interface can address only 40 bits of memory. Typically that's not a problem because Tegra devices don't have enough system memory to exceed those 40 bits. However, if the ARM SMMU is enable on Tegra186 and later, the addresses passed to the XUSB controller can be anywhere in the 48-bit IOV address space of the ARM SMMU. Since the DMA/IOMMU API starts allocating from the top of the IOVA space, the Falcon microcontroller is not able to load the firmware successfully. Fix this by setting the DMA mask to 40 bits, which will force the DMA API to map the buffer for the firmware to an IOVA that is addressable by the Falcon. Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/1566989697-13049-1-git-send-email-nkristam@nvidia.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch/riscv/include/asm/fixmap.h')
0 files changed, 0 insertions, 0 deletions