* [PATCH 0/4] x86: IOMMU cleanups
@ 2008-07-11 1:23 FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 1/4] x86: make only GART code include gart.h FUJITA Tomonori
2008-07-11 8:23 ` [PATCH 0/4] x86: IOMMU cleanups Muli Ben-Yehuda
0 siblings, 2 replies; 10+ messages in thread
From: FUJITA Tomonori @ 2008-07-11 1:23 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo, fujita.tomonori
This patchset cleans up IOMMU stuff, including a sequel to the GART
cleanups:
http://lkml.org/lkml/2008/7/9/488
This is against tip/master.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] x86: make only GART code include gart.h
2008-07-11 1:23 [PATCH 0/4] x86: IOMMU cleanups FUJITA Tomonori
@ 2008-07-11 1:23 ` FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 2/4] x86: remove ifdef CONFIG_GART_IOMMU in pci-dma.c FUJITA Tomonori
2008-07-11 8:23 ` [PATCH 0/4] x86: IOMMU cleanups Muli Ben-Yehuda
1 sibling, 1 reply; 10+ messages in thread
From: FUJITA Tomonori @ 2008-07-11 1:23 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo, FUJITA Tomonori
gart.h has only GART-specific stuff. Only GART code needs it. Other
IOMMU stuff should include iommu.h instead of gart.h.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
---
arch/x86/kernel/amd_iommu.c | 2 +-
arch/x86/kernel/amd_iommu_init.c | 2 +-
arch/x86/kernel/aperture_64.c | 1 +
arch/x86/kernel/early-quirks.c | 5 +----
arch/x86/kernel/pci-calgary_64.c | 2 +-
arch/x86/kernel/pci-dma.c | 2 +-
arch/x86/kernel/pci-gart_64.c | 1 +
arch/x86/kernel/pci-nommu.c | 2 +-
arch/x86/kernel/pci-swiotlb_64.c | 2 +-
arch/x86/kernel/setup.c | 2 +-
drivers/pci/intel-iommu.c | 2 +-
include/asm-x86/gart.h | 1 -
12 files changed, 11 insertions(+), 13 deletions(-)
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index f2766d8..cf2f74b 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -23,7 +23,7 @@
#include <linux/scatterlist.h>
#include <linux/iommu-helper.h>
#include <asm/proto.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
#include <asm/amd_iommu_types.h>
#include <asm/amd_iommu.h>
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index bb02800..00de43d 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -25,7 +25,7 @@
#include <asm/pci-direct.h>
#include <asm/amd_iommu_types.h>
#include <asm/amd_iommu.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
/*
* definitions for the ACPI scanning code
diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
index 9f90780..44e2182 100644
--- a/arch/x86/kernel/aperture_64.c
+++ b/arch/x86/kernel/aperture_64.c
@@ -21,6 +21,7 @@
#include <linux/suspend.h>
#include <asm/e820.h>
#include <asm/io.h>
+#include <asm/iommu.h>
#include <asm/gart.h>
#include <asm/pci-direct.h>
#include <asm/dma.h>
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index a4665f3..510b8e3 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -16,10 +16,7 @@
#include <asm/dma.h>
#include <asm/io_apic.h>
#include <asm/apic.h>
-
-#ifdef CONFIG_GART_IOMMU
-#include <asm/gart.h>
-#endif
+#include <asm/iommu.h>
static void __init fix_hypertransport_config(int num, int slot, int func)
{
diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c
index 4035759..d9e804d 100644
--- a/arch/x86/kernel/pci-calgary_64.c
+++ b/arch/x86/kernel/pci-calgary_64.c
@@ -36,7 +36,7 @@
#include <linux/delay.h>
#include <linux/scatterlist.h>
#include <linux/iommu-helper.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
#include <asm/calgary.h>
#include <asm/tce.h>
#include <asm/pci-direct.h>
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index b7dd70f..6eb7470 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -5,7 +5,7 @@
#include <asm/proto.h>
#include <asm/dma.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
#include <asm/calgary.h>
#include <asm/amd_iommu.h>
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
index d0d18db..949ca98 100644
--- a/arch/x86/kernel/pci-gart_64.c
+++ b/arch/x86/kernel/pci-gart_64.c
@@ -32,6 +32,7 @@
#include <asm/mtrr.h>
#include <asm/pgtable.h>
#include <asm/proto.h>
+#include <asm/iommu.h>
#include <asm/gart.h>
#include <asm/cacheflush.h>
#include <asm/swiotlb.h>
diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c
index aec43d5..792b917 100644
--- a/arch/x86/kernel/pci-nommu.c
+++ b/arch/x86/kernel/pci-nommu.c
@@ -7,7 +7,7 @@
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
#include <asm/processor.h>
#include <asm/dma.h>
diff --git a/arch/x86/kernel/pci-swiotlb_64.c b/arch/x86/kernel/pci-swiotlb_64.c
index 82299cd..20df839 100644
--- a/arch/x86/kernel/pci-swiotlb_64.c
+++ b/arch/x86/kernel/pci-swiotlb_64.c
@@ -5,7 +5,7 @@
#include <linux/module.h>
#include <linux/dma-mapping.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
#include <asm/swiotlb.h>
#include <asm/dma.h>
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 098208d..fef7d0a 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -96,7 +96,7 @@
#include <asm/smp.h>
#include <asm/desc.h>
#include <asm/dma.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
#include <asm/mmu_context.h>
#include <asm/proto.h>
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index bb06423..7868065 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -37,7 +37,7 @@
#include "intel-iommu.h"
#include <asm/proto.h> /* force_iommu in this header in x86-64*/
#include <asm/cacheflush.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
#include "pci.h"
#define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY)
diff --git a/include/asm-x86/gart.h b/include/asm-x86/gart.h
index 33b9aee..3f62a83 100644
--- a/include/asm-x86/gart.h
+++ b/include/asm-x86/gart.h
@@ -2,7 +2,6 @@
#define _ASM_X8664_GART_H 1
#include <asm/e820.h>
-#include <asm/iommu.h>
extern void set_up_gart_resume(u32, u32);
--
1.5.5.GIT
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/4] x86: remove ifdef CONFIG_GART_IOMMU in pci-dma.c
2008-07-11 1:23 ` [PATCH 1/4] x86: make only GART code include gart.h FUJITA Tomonori
@ 2008-07-11 1:23 ` FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 3/4] x86: remove ifdef CONFIG_CALGARY_IOMMU " FUJITA Tomonori
0 siblings, 1 reply; 10+ messages in thread
From: FUJITA Tomonori @ 2008-07-11 1:23 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo, FUJITA Tomonori
Our way to handle gart_* functions for CONFIG_GART_IOMMU and
!CONFIG_GART_IOMMU cases is inconsistent.
We have some dummy gart_* functions in !CONFIG_GART_IOMMU case and
also use ifdef CONFIG_GART_IOMMU tricks in pci-dma.c to call some
gart_* functions in only CONFIG_GART_IOMMU case.
This patch removes ifdef CONFIG_GART_IOMMU in pci-dma.c and always use
dummy gart_* functions in iommu.h.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
---
arch/x86/kernel/pci-dma.c | 6 ------
include/asm-x86/iommu.h | 10 +++++++++-
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index 6eb7470..034fe1c 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -114,9 +114,7 @@ void __init pci_iommu_alloc(void)
* The order of these functions is important for
* fall-back/fail-over reasons
*/
-#ifdef CONFIG_GART_IOMMU
gart_iommu_hole_init();
-#endif
#ifdef CONFIG_CALGARY_IOMMU
detect_calgary();
@@ -184,9 +182,7 @@ static __init int iommu_setup(char *p)
swiotlb = 1;
#endif
-#ifdef CONFIG_GART_IOMMU
gart_parse_options(p);
-#endif
#ifdef CONFIG_CALGARY_IOMMU
if (!strncmp(p, "calgary", 7))
@@ -390,9 +386,7 @@ static int __init pci_iommu_init(void)
amd_iommu_init();
-#ifdef CONFIG_GART_IOMMU
gart_iommu_init();
-#endif
no_iommu_init();
return 0;
diff --git a/include/asm-x86/iommu.h b/include/asm-x86/iommu.h
index 068c9a4..d63166f 100644
--- a/include/asm-x86/iommu.h
+++ b/include/asm-x86/iommu.h
@@ -25,10 +25,18 @@ extern void gart_iommu_hole_init(void);
static inline void early_gart_iommu_check(void)
{
}
-
+static inline void gart_iommu_init(void)
+{
+}
static inline void gart_iommu_shutdown(void)
{
}
+static inline void gart_parse_options(char *options)
+{
+}
+static inline void gart_iommu_hole_init(void)
+{
+}
#endif
#endif
--
1.5.5.GIT
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/4] x86: remove ifdef CONFIG_CALGARY_IOMMU in pci-dma.c
2008-07-11 1:23 ` [PATCH 2/4] x86: remove ifdef CONFIG_GART_IOMMU in pci-dma.c FUJITA Tomonori
@ 2008-07-11 1:23 ` FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 4/4] x86: remove ifdef CONFIG_SWIOTLB " FUJITA Tomonori
0 siblings, 1 reply; 10+ messages in thread
From: FUJITA Tomonori @ 2008-07-11 1:23 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo, FUJITA Tomonori, Alexis Bruemmer
asm-x86/calgary.h has dummy calgary_iommu_init() and detect_calgary()
in !CONFIG_CALGARY_IOMMU case. So we don't need ifdef
CONFIG_CALGARY_IOMMU in pci-dma.c.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Alexis Bruemmer <alexisb@us.ibm.com>
---
arch/x86/kernel/pci-dma.c | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index 034fe1c..2377de7 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -116,9 +116,7 @@ void __init pci_iommu_alloc(void)
*/
gart_iommu_hole_init();
-#ifdef CONFIG_CALGARY_IOMMU
detect_calgary();
-#endif
detect_intel_iommu();
@@ -378,9 +376,7 @@ EXPORT_SYMBOL(dma_free_coherent);
static int __init pci_iommu_init(void)
{
-#ifdef CONFIG_CALGARY_IOMMU
calgary_iommu_init();
-#endif
intel_iommu_init();
--
1.5.5.GIT
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] x86: remove ifdef CONFIG_SWIOTLB in pci-dma.c
2008-07-11 1:23 ` [PATCH 3/4] x86: remove ifdef CONFIG_CALGARY_IOMMU " FUJITA Tomonori
@ 2008-07-11 1:23 ` FUJITA Tomonori
0 siblings, 0 replies; 10+ messages in thread
From: FUJITA Tomonori @ 2008-07-11 1:23 UTC (permalink / raw)
To: linux-kernel; +Cc: mingo, FUJITA Tomonori
As other IOMMUs do, this puts dummy pci_swiotlb_init() in swiotlb.h
and remove ifdef CONFIG_SWIOTLB in pci-dma.c.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
---
arch/x86/kernel/pci-dma.c | 2 --
include/asm-x86/swiotlb.h | 6 ++++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index 2377de7..e01b616 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -122,9 +122,7 @@ void __init pci_iommu_alloc(void)
amd_iommu_detect();
-#ifdef CONFIG_SWIOTLB
pci_swiotlb_init();
-#endif
}
#endif
diff --git a/include/asm-x86/swiotlb.h b/include/asm-x86/swiotlb.h
index f5d9e74..c706a74 100644
--- a/include/asm-x86/swiotlb.h
+++ b/include/asm-x86/swiotlb.h
@@ -45,12 +45,14 @@ extern int swiotlb_force;
#ifdef CONFIG_SWIOTLB
extern int swiotlb;
+extern void pci_swiotlb_init(void);
#else
#define swiotlb 0
+static inline void pci_swiotlb_init(void)
+{
+}
#endif
-extern void pci_swiotlb_init(void);
-
static inline void dma_mark_clean(void *addr, size_t size) {}
#endif /* _ASM_SWIOTLB_H */
--
1.5.5.GIT
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] x86: IOMMU cleanups
2008-07-11 1:23 [PATCH 0/4] x86: IOMMU cleanups FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 1/4] x86: make only GART code include gart.h FUJITA Tomonori
@ 2008-07-11 8:23 ` Muli Ben-Yehuda
2008-07-11 9:01 ` Ingo Molnar
1 sibling, 1 reply; 10+ messages in thread
From: Muli Ben-Yehuda @ 2008-07-11 8:23 UTC (permalink / raw)
To: FUJITA Tomonori; +Cc: linux-kernel, mingo
On Fri, Jul 11, 2008 at 10:23:41AM +0900, FUJITA Tomonori wrote:
> This patchset cleans up IOMMU stuff, including a sequel to the GART
> cleanups:
>
> http://lkml.org/lkml/2008/7/9/488
>
> This is against tip/master.
I heartily endorse this patchset. Thanks for doing it!
Cheers,
Muli
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] x86: IOMMU cleanups
2008-07-11 8:23 ` [PATCH 0/4] x86: IOMMU cleanups Muli Ben-Yehuda
@ 2008-07-11 9:01 ` Ingo Molnar
2008-07-11 12:36 ` Muli Ben-Yehuda
2008-07-14 23:56 ` FUJITA Tomonori
0 siblings, 2 replies; 10+ messages in thread
From: Ingo Molnar @ 2008-07-11 9:01 UTC (permalink / raw)
To: Muli Ben-Yehuda; +Cc: FUJITA Tomonori, linux-kernel
* Muli Ben-Yehuda <muli@il.ibm.com> wrote:
> On Fri, Jul 11, 2008 at 10:23:41AM +0900, FUJITA Tomonori wrote:
> > This patchset cleans up IOMMU stuff, including a sequel to the GART
> > cleanups:
> >
> > http://lkml.org/lkml/2008/7/9/488
> >
> > This is against tip/master.
>
> I heartily endorse this patchset. Thanks for doing it!
thanks - the series looks really nice and i've applied it to
tip/x86/gart.
I've also added:
Acked-by: Muli Ben-Yehuda <muli@il.ibm.com>
... if you dont mind.
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] x86: IOMMU cleanups
2008-07-11 9:01 ` Ingo Molnar
@ 2008-07-11 12:36 ` Muli Ben-Yehuda
2008-07-14 23:56 ` FUJITA Tomonori
1 sibling, 0 replies; 10+ messages in thread
From: Muli Ben-Yehuda @ 2008-07-11 12:36 UTC (permalink / raw)
To: Ingo Molnar; +Cc: FUJITA Tomonori, linux-kernel
On Fri, Jul 11, 2008 at 11:01:49AM +0200, Ingo Molnar wrote:
>
> * Muli Ben-Yehuda <muli@il.ibm.com> wrote:
>
> > On Fri, Jul 11, 2008 at 10:23:41AM +0900, FUJITA Tomonori wrote:
> > > This patchset cleans up IOMMU stuff, including a sequel to the GART
> > > cleanups:
> > >
> > > http://lkml.org/lkml/2008/7/9/488
> > >
> > > This is against tip/master.
> >
> > I heartily endorse this patchset. Thanks for doing it!
>
> thanks - the series looks really nice and i've applied it to
> tip/x86/gart.
>
> I've also added:
>
> Acked-by: Muli Ben-Yehuda <muli@il.ibm.com>
>
> ... if you dont mind.
I don't mind at all.
(the reason I didn't ack it at first is that I try to review *and*
test a patchset first before formally acking it...)
Cheers,
Muli
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] x86: IOMMU cleanups
2008-07-11 9:01 ` Ingo Molnar
2008-07-11 12:36 ` Muli Ben-Yehuda
@ 2008-07-14 23:56 ` FUJITA Tomonori
2008-07-18 21:49 ` Ingo Molnar
1 sibling, 1 reply; 10+ messages in thread
From: FUJITA Tomonori @ 2008-07-14 23:56 UTC (permalink / raw)
To: mingo; +Cc: muli, fujita.tomonori, linux-kernel
On Fri, 11 Jul 2008 11:01:49 +0200
Ingo Molnar <mingo@elte.hu> wrote:
>
> * Muli Ben-Yehuda <muli@il.ibm.com> wrote:
>
> > On Fri, Jul 11, 2008 at 10:23:41AM +0900, FUJITA Tomonori wrote:
> > > This patchset cleans up IOMMU stuff, including a sequel to the GART
> > > cleanups:
> > >
> > > http://lkml.org/lkml/2008/7/9/488
> > >
> > > This is against tip/master.
> >
> > I heartily endorse this patchset. Thanks for doing it!
>
> thanks - the series looks really nice and i've applied it to
> tip/x86/gart.
This missed the merge window? It's not urgent at all but it's clean
and pretty safe, I think.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] x86: IOMMU cleanups
2008-07-14 23:56 ` FUJITA Tomonori
@ 2008-07-18 21:49 ` Ingo Molnar
0 siblings, 0 replies; 10+ messages in thread
From: Ingo Molnar @ 2008-07-18 21:49 UTC (permalink / raw)
To: FUJITA Tomonori; +Cc: muli, linux-kernel
* FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
> On Fri, 11 Jul 2008 11:01:49 +0200
> Ingo Molnar <mingo@elte.hu> wrote:
>
> >
> > * Muli Ben-Yehuda <muli@il.ibm.com> wrote:
> >
> > > On Fri, Jul 11, 2008 at 10:23:41AM +0900, FUJITA Tomonori wrote:
> > > > This patchset cleans up IOMMU stuff, including a sequel to the GART
> > > > cleanups:
> > > >
> > > > http://lkml.org/lkml/2008/7/9/488
> > > >
> > > > This is against tip/master.
> > >
> > > I heartily endorse this patchset. Thanks for doing it!
> >
> > thanks - the series looks really nice and i've applied it to
> > tip/x86/gart.
>
> This missed the merge window? It's not urgent at all but it's clean
> and pretty safe, I think.
i think we can still push them in this merge window, they have been
problem-free so far.
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-07-18 21:49 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-11 1:23 [PATCH 0/4] x86: IOMMU cleanups FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 1/4] x86: make only GART code include gart.h FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 2/4] x86: remove ifdef CONFIG_GART_IOMMU in pci-dma.c FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 3/4] x86: remove ifdef CONFIG_CALGARY_IOMMU " FUJITA Tomonori
2008-07-11 1:23 ` [PATCH 4/4] x86: remove ifdef CONFIG_SWIOTLB " FUJITA Tomonori
2008-07-11 8:23 ` [PATCH 0/4] x86: IOMMU cleanups Muli Ben-Yehuda
2008-07-11 9:01 ` Ingo Molnar
2008-07-11 12:36 ` Muli Ben-Yehuda
2008-07-14 23:56 ` FUJITA Tomonori
2008-07-18 21:49 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox