mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 06:31:52 +00:00
dma-mapping fix for 5.4
- fix a regression in the intel-iommu get_required_mask conversion (Arvind Sankar) -----BEGIN PGP SIGNATURE----- iQI/BAABCgApFiEEgdbnc3r/njty3Iq9D55TZVIEUYMFAl2z3OELHGhjaEBsc3Qu ZGUACgkQD55TZVIEUYOyJhAAwQalrpmmP4NLzx8J29ZLLFTpvMkQu7khHXxnfXd0 +/aKg6g1teyJvg/Vxb8GQeGi/mTKClCjUvlS+88AQm1vR/9wLb4OvQPcHhNmG84s YxJGeDcIQzeXIpV1s6bcADcIAoYHZB1Ph0VobQeSNiJEAq4/ILCUfsVgcPbOPdDQ 49/b8jrGXk/A/MMzJo2YefqQec2D5/7LCEK++IZAOnlnL/hd+YiB8Y1W8tjAMwXO ANOwpRGD+tUfjlP6DvuIbefPGVW5B0fdSa04KYqg03bZOSVTThNCSdWqXTcaOXFu MmAHhzrRiUH184d69pjWM371Qx6dF+fallkezrZXVqyInVww9Vca708sJPP3w9YD QjP2eYy1xrcPI9e84Xqad8o6TRr+wzmtQIHNRcm9ZrZhi/fdjUKPeBZkBbeOpGcd CLaqV8lVOFtVEHqtUq9egJ77FUdmCvDpaz7XaT3o33b8Wl70cF5G1/J4+CYkMHWM y67h7GpBaay7d6ZJyLbtqB29AM0PQnftJRZfef1dP3hGZKswZYuDuseMfkrMwPzt 6MRWpSN+kn4B4HugO+W8OXVO2heZFb7sqs7BwfjgWWOAn5NN9Jvq2s1PYKj0CluR wB8NAhulNrkVslUk3Mx0baPDhO9ut3bMXRhVJcpXFJV23oz0HA1qqxD37vDglRHd aNM= =jbwS -----END PGP SIGNATURE----- Merge tag 'dma-mapping-5.4-2' of git://git.infradead.org/users/hch/dma-mapping Pull dma-mapping fix from Christoph Hellwig: "Fix a regression in the intel-iommu get_required_mask conversion (Arvind Sankar)" * tag 'dma-mapping-5.4-2' of git://git.infradead.org/users/hch/dma-mapping: iommu/vt-d: Return the correct dma mask when we are bypassing the IOMMU
This commit is contained in:
commit
964f9cfaae
@ -3471,7 +3471,7 @@ static bool iommu_need_mapping(struct device *dev)
|
||||
if (dev->coherent_dma_mask && dev->coherent_dma_mask < dma_mask)
|
||||
dma_mask = dev->coherent_dma_mask;
|
||||
|
||||
if (dma_mask >= dma_get_required_mask(dev))
|
||||
if (dma_mask >= dma_direct_get_required_mask(dev))
|
||||
return false;
|
||||
|
||||
/*
|
||||
@ -3775,6 +3775,13 @@ static int intel_map_sg(struct device *dev, struct scatterlist *sglist, int nele
|
||||
return nelems;
|
||||
}
|
||||
|
||||
static u64 intel_get_required_mask(struct device *dev)
|
||||
{
|
||||
if (!iommu_need_mapping(dev))
|
||||
return dma_direct_get_required_mask(dev);
|
||||
return DMA_BIT_MASK(32);
|
||||
}
|
||||
|
||||
static const struct dma_map_ops intel_dma_ops = {
|
||||
.alloc = intel_alloc_coherent,
|
||||
.free = intel_free_coherent,
|
||||
@ -3787,6 +3794,7 @@ static const struct dma_map_ops intel_dma_ops = {
|
||||
.dma_supported = dma_direct_supported,
|
||||
.mmap = dma_common_mmap,
|
||||
.get_sgtable = dma_common_get_sgtable,
|
||||
.get_required_mask = intel_get_required_mask,
|
||||
};
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user