[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-6f3bc8028570e4c326030e8795dbcd57c561b723@git.kernel.org>
Date: Mon, 15 Oct 2018 02:09:50 -0700
From: tip-bot for Christoph Hellwig <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, hch@....de, mingo@...nel.org,
tglx@...utronix.de, tedheadster@...il.com, hpa@...or.com
Subject: [tip:x86/urgent] x86/swiotlb: Enable swiotlb for > 4GiG ram on
32-bit kernels
Commit-ID: 6f3bc8028570e4c326030e8795dbcd57c561b723
Gitweb: https://git.kernel.org/tip/6f3bc8028570e4c326030e8795dbcd57c561b723
Author: Christoph Hellwig <hch@....de>
AuthorDate: Sun, 14 Oct 2018 09:52:08 +0200
Committer: Thomas Gleixner <tglx@...utronix.de>
CommitDate: Mon, 15 Oct 2018 10:55:03 +0200
x86/swiotlb: Enable swiotlb for > 4GiG ram on 32-bit kernels
We already build the swiotlb code for 32b-t kernels with PAE support,
but the code to actually use swiotlb has only been enabled for 64-bit
kernel for an unknown reason.
Before Linux 4.18 we paper over this fact because the networking code,
the scsi layer and some random block drivers implemented their own
bounce buffering scheme.
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@...il.com>
Signed-off-by: Christoph Hellwig <hch@....de>
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
Tested-by: Matthew Whitehead <tedheadster@...il.com>
Cc: konrad.wilk@...cle.com
Cc: iommu@...ts.linux-foundation.org
Cc: stable@...r.kernel.org
Link: https://lkml.kernel.org/r/20181014075208.2715-1-hch@lst.de
---
arch/x86/kernel/pci-swiotlb.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/x86/kernel/pci-swiotlb.c b/arch/x86/kernel/pci-swiotlb.c
index 661583662430..71c0b01d93b1 100644
--- a/arch/x86/kernel/pci-swiotlb.c
+++ b/arch/x86/kernel/pci-swiotlb.c
@@ -42,10 +42,8 @@ IOMMU_INIT_FINISH(pci_swiotlb_detect_override,
int __init pci_swiotlb_detect_4gb(void)
{
/* don't initialize swiotlb if iommu=off (no_iommu=1) */
-#ifdef CONFIG_X86_64
if (!no_iommu && max_possible_pfn > MAX_DMA32_PFN)
swiotlb = 1;
-#endif
/*
* If SME is active then swiotlb will be set to 1 so that bounce
Powered by blists - more mailing lists