mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* linux-next: tip tree build failure
@ 2009-11-11  9:13 Stephen Rothwell
  2009-11-11 15:03 ` FUJITA Tomonori
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Rothwell @ 2009-11-11  9:13 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, FUJITA Tomonori

[-- Attachment #1: Type: text/plain, Size: 565 bytes --]

Hi all,

Today's linux-next build (powerpc allyesconfig) failed like this:

lib/swiotlb.c: In function 'setup_io_tlb_npages':
lib/swiotlb.c:114: error: 'swiotlb' undeclared (first use in this function)

Caused by commit 75f1cdf1dda92cae037ec848ae63690d91913eac ("x86: Handle
HW IOMMU initialization failure gracefully") from the tip tree.  It looks
like the "swiotlb" variable only exists in x86 and ia64.

I have reverted that commit for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: linux-next: tip tree build failure
  2009-11-11  9:13 linux-next: tip tree build failure Stephen Rothwell
@ 2009-11-11 15:03 ` FUJITA Tomonori
  2009-11-11 15:54   ` [tip:core/iommu] swiotlb: Remove the swiotlb variable usage tip-bot for FUJITA Tomonori
  2009-11-11 21:39   ` linux-next: tip tree build failure Stephen Rothwell
  0 siblings, 2 replies; 4+ messages in thread
From: FUJITA Tomonori @ 2009-11-11 15:03 UTC (permalink / raw)
  To: sfr; +Cc: tglx, mingo, hpa, peterz, linux-next, linux-kernel, fujita.tomonori

On Wed, 11 Nov 2009 20:13:02 +1100
Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> Hi all,
> 
> Today's linux-next build (powerpc allyesconfig) failed like this:
> 
> lib/swiotlb.c: In function 'setup_io_tlb_npages':
> lib/swiotlb.c:114: error: 'swiotlb' undeclared (first use in this function)
> 
> Caused by commit 75f1cdf1dda92cae037ec848ae63690d91913eac ("x86: Handle
> HW IOMMU initialization failure gracefully") from the tip tree.  It looks
> like the "swiotlb" variable only exists in x86 and ia64.
> 
> I have reverted that commit for today.

Duh, sorry about it. I should have complied that patchset for POWERPC
too. POWERPC has swiotlb but it doesn't expect it to be used (POWERPC
can remove it).

I think that the following patch works. I'll do more cleanup related
with x86 IOMMU initialization soon (I'm at JFK to go back to Japan).

=
From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Subject: [PATCH] swiotlb: remove the swiotlb variable usage

POWERPC doesn't expect it to be used.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
---
 arch/x86/include/asm/swiotlb.h |    5 +++--
 arch/x86/kernel/pci-dma.c      |    5 +----
 arch/x86/kernel/pci-swiotlb.c  |   13 ++++++++++++-
 lib/swiotlb.c                  |    5 ++---
 4 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/arch/x86/include/asm/swiotlb.h b/arch/x86/include/asm/swiotlb.h
index b9e4e20..940f13a 100644
--- a/arch/x86/include/asm/swiotlb.h
+++ b/arch/x86/include/asm/swiotlb.h
@@ -9,11 +9,12 @@ extern int swiotlb_force;
 
 #ifdef CONFIG_SWIOTLB
 extern int swiotlb;
-extern void pci_swiotlb_init(void);
+extern int pci_swiotlb_init(void);
 #else
 #define swiotlb 0
-static inline void pci_swiotlb_init(void)
+static inline int pci_swiotlb_init(void)
 {
+	return 0;
 }
 #endif
 
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index f79870e..0b11bf1 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -125,16 +125,13 @@ static void __init dma32_free_bootmem(void)
 
 void __init pci_iommu_alloc(void)
 {
-	/* swiotlb is forced by the boot option */
-	int use_swiotlb = swiotlb;
 #ifdef CONFIG_X86_64
 	/* free the range so iommu could get some range less than 4G */
 	dma32_free_bootmem();
 #else
 	dma_ops = &nommu_dma_ops;
 #endif
-	pci_swiotlb_init();
-	if (use_swiotlb)
+	if (pci_swiotlb_init())
 		return;
 
 	gart_iommu_hole_init();
diff --git a/arch/x86/kernel/pci-swiotlb.c b/arch/x86/kernel/pci-swiotlb.c
index 17ce422..a6e5d0f 100644
--- a/arch/x86/kernel/pci-swiotlb.c
+++ b/arch/x86/kernel/pci-swiotlb.c
@@ -42,16 +42,27 @@ static struct dma_map_ops swiotlb_dma_ops = {
 	.dma_supported = NULL,
 };
 
-void __init pci_swiotlb_init(void)
+/*
+ * pci_swiotlb_init - initialize swiotlb if necessary
+ *
+ * This returns non-zero if we are forced to use swiotlb (by the boot
+ * option).
+ */
+int __init pci_swiotlb_init(void)
 {
 	/* don't initialize swiotlb if iommu=off (no_iommu=1) */
 #ifdef CONFIG_X86_64
 	if (!no_iommu && max_pfn > MAX_DMA32_PFN)
 		swiotlb = 1;
 #endif
+	if (swiotlb_force)
+		swiotlb = 1;
+
 	if (swiotlb) {
 		swiotlb_init(0);
 		dma_ops = &swiotlb_dma_ops;
 	} else
 		dma_ops = &nommu_dma_ops;
+
+	return swiotlb_force;
 }
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index e6755a0..795472d 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -109,10 +109,9 @@ setup_io_tlb_npages(char *str)
 	}
 	if (*str == ',')
 		++str;
-	if (!strcmp(str, "force")) {
+	if (!strcmp(str, "force"))
 		swiotlb_force = 1;
-		swiotlb = 1;
-	}
+
 	return 1;
 }
 __setup("swiotlb=", setup_io_tlb_npages);
-- 
1.5.6.5


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:core/iommu] swiotlb: Remove the swiotlb variable usage
  2009-11-11 15:03 ` FUJITA Tomonori
@ 2009-11-11 15:54   ` tip-bot for FUJITA Tomonori
  2009-11-11 21:39   ` linux-next: tip tree build failure Stephen Rothwell
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for FUJITA Tomonori @ 2009-11-11 15:54 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, fujita.tomonori, sfr, tglx, mingo

Commit-ID:  b18485e7acfe1a634615d1c628ef644c0d58d472
Gitweb:     http://git.kernel.org/tip/b18485e7acfe1a634615d1c628ef644c0d58d472
Author:     FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
AuthorDate: Thu, 12 Nov 2009 00:03:28 +0900
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Wed, 11 Nov 2009 16:51:18 +0100

swiotlb: Remove the swiotlb variable usage

POWERPC doesn't expect it to be used.

This fixes the linux-next build failure reported by
Stephen Rothwell:

  lib/swiotlb.c: In function 'setup_io_tlb_npages':
  lib/swiotlb.c:114: error: 'swiotlb' undeclared (first use in this function)

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: peterz@infradead.org
LKML-Reference: <20091112000258F.fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 arch/x86/include/asm/swiotlb.h |    5 +++--
 arch/x86/kernel/pci-dma.c      |    5 +----
 arch/x86/kernel/pci-swiotlb.c  |   13 ++++++++++++-
 lib/swiotlb.c                  |    5 ++---
 4 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/arch/x86/include/asm/swiotlb.h b/arch/x86/include/asm/swiotlb.h
index b9e4e20..940f13a 100644
--- a/arch/x86/include/asm/swiotlb.h
+++ b/arch/x86/include/asm/swiotlb.h
@@ -9,11 +9,12 @@ extern int swiotlb_force;
 
 #ifdef CONFIG_SWIOTLB
 extern int swiotlb;
-extern void pci_swiotlb_init(void);
+extern int pci_swiotlb_init(void);
 #else
 #define swiotlb 0
-static inline void pci_swiotlb_init(void)
+static inline int pci_swiotlb_init(void)
 {
+	return 0;
 }
 #endif
 
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index f79870e..0b11bf1 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -125,16 +125,13 @@ static void __init dma32_free_bootmem(void)
 
 void __init pci_iommu_alloc(void)
 {
-	/* swiotlb is forced by the boot option */
-	int use_swiotlb = swiotlb;
 #ifdef CONFIG_X86_64
 	/* free the range so iommu could get some range less than 4G */
 	dma32_free_bootmem();
 #else
 	dma_ops = &nommu_dma_ops;
 #endif
-	pci_swiotlb_init();
-	if (use_swiotlb)
+	if (pci_swiotlb_init())
 		return;
 
 	gart_iommu_hole_init();
diff --git a/arch/x86/kernel/pci-swiotlb.c b/arch/x86/kernel/pci-swiotlb.c
index 17ce422..a6e5d0f 100644
--- a/arch/x86/kernel/pci-swiotlb.c
+++ b/arch/x86/kernel/pci-swiotlb.c
@@ -42,16 +42,27 @@ static struct dma_map_ops swiotlb_dma_ops = {
 	.dma_supported = NULL,
 };
 
-void __init pci_swiotlb_init(void)
+/*
+ * pci_swiotlb_init - initialize swiotlb if necessary
+ *
+ * This returns non-zero if we are forced to use swiotlb (by the boot
+ * option).
+ */
+int __init pci_swiotlb_init(void)
 {
 	/* don't initialize swiotlb if iommu=off (no_iommu=1) */
 #ifdef CONFIG_X86_64
 	if (!no_iommu && max_pfn > MAX_DMA32_PFN)
 		swiotlb = 1;
 #endif
+	if (swiotlb_force)
+		swiotlb = 1;
+
 	if (swiotlb) {
 		swiotlb_init(0);
 		dma_ops = &swiotlb_dma_ops;
 	} else
 		dma_ops = &nommu_dma_ops;
+
+	return swiotlb_force;
 }
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index e6755a0..795472d 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -109,10 +109,9 @@ setup_io_tlb_npages(char *str)
 	}
 	if (*str == ',')
 		++str;
-	if (!strcmp(str, "force")) {
+	if (!strcmp(str, "force"))
 		swiotlb_force = 1;
-		swiotlb = 1;
-	}
+
 	return 1;
 }
 __setup("swiotlb=", setup_io_tlb_npages);

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: linux-next: tip tree build failure
  2009-11-11 15:03 ` FUJITA Tomonori
  2009-11-11 15:54   ` [tip:core/iommu] swiotlb: Remove the swiotlb variable usage tip-bot for FUJITA Tomonori
@ 2009-11-11 21:39   ` Stephen Rothwell
  1 sibling, 0 replies; 4+ messages in thread
From: Stephen Rothwell @ 2009-11-11 21:39 UTC (permalink / raw)
  To: FUJITA Tomonori; +Cc: tglx, mingo, hpa, peterz, linux-next, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 553 bytes --]

Hi,

On Thu, 12 Nov 2009 00:03:28 +0900 FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
>
> Duh, sorry about it. I should have complied that patchset for POWERPC
> too. POWERPC has swiotlb but it doesn't expect it to be used (POWERPC
> can remove it).
> 
> I think that the following patch works. I'll do more cleanup related
> with x86 IOMMU initialization soon (I'm at JFK to go back to Japan).

Great, thanks for the fix.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-11-11 21:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-11  9:13 linux-next: tip tree build failure Stephen Rothwell
2009-11-11 15:03 ` FUJITA Tomonori
2009-11-11 15:54   ` [tip:core/iommu] swiotlb: Remove the swiotlb variable usage tip-bot for FUJITA Tomonori
2009-11-11 21:39   ` linux-next: tip tree build failure Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®