[PATCH] setup max dma addr earlier on hp boxes

From: Alex Williamson <alex.williamson_at_hp.com>
Date: 2004-04-06 03:22:42
   sba_iommu was setting up MAX_DMA_ADDRESS way too late to do any
good.  This patch makes it get setup via platform_setup, so it's ready
for paging_init().  All pages should show up in zone DMA now.  Against
latest 2.6.  Thanks,

	Alex

-- 
Alex Williamson                             HP Linux & Open Source Lab

===== arch/ia64/hp/common/sba_iommu.c 1.41 vs edited =====
--- 1.41/arch/ia64/hp/common/sba_iommu.c	Mon Mar 22 03:52:38 2004
+++ edited/arch/ia64/hp/common/sba_iommu.c	Mon Apr  5 11:14:20 2004
@@ -1732,7 +1732,6 @@
 
 	if ((long) ~iovp_mask > (long) ia64_max_iommu_merge_mask)
 		ia64_max_iommu_merge_mask = ~iovp_mask;
-	MAX_DMA_ADDRESS = ~0UL;
 
 	printk(KERN_INFO PFX
 		"%s %d.%d HPA 0x%lx IOVA space %dMb at 0x%lx\n",
@@ -1965,6 +1964,18 @@
 }
 
 subsys_initcall(sba_init); /* must be initialized after ACPI etc., but before any drivers... */
+
+extern void dig_setup(char**);
+/*
+ * MAX_DMA_ADDRESS needs to be setup prior to paging_init to do any good,
+ * so we use the platform_setup hook to fix it up.
+ */
+void __init
+sba_setup(char **cmdline_p)
+{
+	MAX_DMA_ADDRESS = ~0UL;
+	dig_setup(cmdline_p);
+}
 
 static int __init
 nosbagart(char *str)
===== include/asm-ia64/machvec_hpzx1.h 1.10 vs edited =====
--- 1.10/include/asm-ia64/machvec_hpzx1.h	Tue Mar 23 17:28:49 2004
+++ edited/include/asm-ia64/machvec_hpzx1.h	Mon Apr  5 11:07:18 2004
@@ -2,6 +2,7 @@
 #define _ASM_IA64_MACHVEC_HPZX1_h
 
 extern ia64_mv_setup_t dig_setup;
+extern ia64_mv_setup_t			sba_setup;
 extern ia64_mv_dma_alloc_coherent	sba_alloc_coherent;
 extern ia64_mv_dma_free_coherent	sba_free_coherent;
 extern ia64_mv_dma_map_single		sba_map_single;
@@ -19,7 +20,7 @@
  * the macros are used directly.
  */
 #define platform_name			"hpzx1"
-#define platform_setup			dig_setup
+#define platform_setup			sba_setup
 #define platform_dma_init		machvec_noop
 #define platform_dma_alloc_coherent	sba_alloc_coherent
 #define platform_dma_free_coherent	sba_free_coherent


-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Mon Apr 5 13:23:16 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:25 EST