OSDN Git Service

x86/swiotlb: Enable swiotlb for > 4GiG RAM on 32-bit kernels
authorChristoph Hellwig <hch@lst.de>
Sun, 14 Oct 2018 07:52:08 +0000 (09:52 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 19 Oct 2018 05:49:32 +0000 (07:49 +0200)
commit485734f3fc77c1eb77ffe138c027b9a4bf0178f3
tree504317805872a16d0f6d406eb0869b8717150e99
parent2224d616528194b02424c91c2ee254b3d29942c3
x86/swiotlb: Enable swiotlb for > 4GiG RAM on 32-bit kernels

We already build the swiotlb code for 32-bit kernels with PAE support,
but the code to actually use swiotlb has only been enabled for 64-bit
kernels for an unknown reason.

Before Linux v4.18 we paper over this fact because the networking code,
the SCSI layer and some random block drivers implemented their own
bounce buffering scheme.

[ mingo: Changelog fixes. ]

Fixes: 21e07dba9fb1 ("scsi: reduce use of block bounce buffers")
Fixes: ab74cfebafa3 ("net: remove the PCI_DMA_BUS_IS_PHYS check in illegal_highdma")
Reported-by: Matthew Whitehead <tedheadster@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Matthew Whitehead <tedheadster@gmail.com>
Cc: konrad.wilk@oracle.com
Cc: iommu@lists.linux-foundation.org
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20181014075208.2715-1-hch@lst.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/pci-swiotlb.c