Re: [PATCH 2/3] swiotlb: create __alloc_bootmem_low_nopanic and add support in SWIOTLB

From: Jon Mason
Date: Tue May 09 2006 - 16:30:19 EST


On Mon, May 08, 2006 at 04:28:07PM -0700, Luck, Tony wrote:
> Jon,
>
> Trailing white space added by part2 and part3 annoys "git" (29
> total places between the two parts).

Oops. I'll fix that with the next release (in the next few hours or
so).

>
> Generic builds (based on arch/ia64/defconfig or arch/ia64/configs/gensparse_defconfig)
> throws out 3 warnings, one each from arch/ia64/hp/zx1/hpzx1_machvec.c,
> arch/ia64/hp/zx1/hpzx1_swiotlb_machvec.c and arch/ia64/sn/kernel/machvec.c
>
> include/asm/machvec_init.h:32: warning: initialization from incompatible pointer type
>
> The problems is "platform_dma_init" which can be defined as
> "machvec_noop()" which returns "void", not "int" at required
> by your change to the ia64_mv_dma_init type.

I "fixed" it with the hack below. Please let me know if this is not
palatable for you.

> On the plus side it does boot on ia64 Intel Tiger ... but more of
> the fancier bits of this code are used by the zx1 and zx1_swiotlb
> versions which I didn't get time to test today.

Fantastic! I appreciate you taking the time to look at and test these
patches.

Thanks,
Jon

>
> -Tony


diff -r 99976643895a include/asm-ia64/machvec.h
--- a/include/asm-ia64/machvec.h Tue May 2 23:10:14 2006
+++ b/include/asm-ia64/machvec.h Tue May 9 14:50:17 2006
@@ -77,9 +77,15 @@
typedef unsigned int ia64_mv_readl_relaxed_t (const volatile void __iomem *);
typedef unsigned long ia64_mv_readq_relaxed_t (const volatile void __iomem *);

-static inline void
+static inline void
machvec_noop (void)
{
+}
+
+static inline int
+machvec_noop_dma (void)
+{
+ return 0;
}

static inline void
diff -r 99976643895a include/asm-ia64/machvec_hpzx1.h
--- a/include/asm-ia64/machvec_hpzx1.h Tue May 2 23:10:14 2006
+++ b/include/asm-ia64/machvec_hpzx1.h Tue May 9 14:50:17 2006
@@ -20,7 +20,7 @@
*/
#define platform_name "hpzx1"
#define platform_setup dig_setup
-#define platform_dma_init machvec_noop
+#define platform_dma_init machvec_noop_dma
#define platform_dma_alloc_coherent sba_alloc_coherent
#define platform_dma_free_coherent sba_free_coherent
#define platform_dma_map_single sba_map_single
diff -r 99976643895a include/asm-ia64/machvec_hpzx1_swiotlb.h
--- a/include/asm-ia64/machvec_hpzx1_swiotlb.h Tue May 2 23:10:14 2006
+++ b/include/asm-ia64/machvec_hpzx1_swiotlb.h Tue May 9 14:50:17 2006
@@ -25,7 +25,7 @@
#define platform_name "hpzx1_swiotlb"

#define platform_setup dig_setup
-#define platform_dma_init machvec_noop
+#define platform_dma_init machvec_noop_dma
#define platform_dma_alloc_coherent hwsw_alloc_coherent
#define platform_dma_free_coherent hwsw_free_coherent
#define platform_dma_map_single hwsw_map_single
diff -r 99976643895a include/asm-ia64/machvec_sn2.h
--- a/include/asm-ia64/machvec_sn2.h Tue May 2 23:10:14 2006
+++ b/include/asm-ia64/machvec_sn2.h Tue May 9 14:50:17 2006
@@ -103,7 +103,7 @@
#define platform_pci_get_legacy_mem sn_pci_get_legacy_mem
#define platform_pci_legacy_read sn_pci_legacy_read
#define platform_pci_legacy_write sn_pci_legacy_write
-#define platform_dma_init machvec_noop
+#define platform_dma_init machvec_noop_dma
#define platform_dma_alloc_coherent sn_dma_alloc_coherent
#define platform_dma_free_coherent sn_dma_free_coherent
#define platform_dma_map_single sn_dma_map_single

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/