]> git.neil.brown.name Git - history.git/commitdiff
ia64: Make sba_iommu get detected early enough again. lia64-v2.5.67
authorDavid Mosberger <davidm@tiger.hpl.hp.com>
Fri, 11 Apr 2003 12:49:38 +0000 (05:49 -0700)
committerDavid Mosberger <davidm@tiger.hpl.hp.com>
Fri, 11 Apr 2003 12:49:38 +0000 (05:49 -0700)
arch/ia64/hp/common/sba_iommu.c

index 89ed7fb7032871a3d4f17449729fc40e66448e03..cf75396e0df60f4f58fc74e5ff878f744d9b3d64 100644 (file)
@@ -302,7 +302,7 @@ sba_dump_pdir_entry(struct ioc *ioc, char *msg, uint pide)
                printk(KERN_DEBUG "%s %2d %p %016Lx\n",
                       (rcnt == (pide & (BITS_PER_LONG - 1)))
                       ? "    -->" : "       ",
-                      rcnt, ptr, *ptr );
+                      rcnt, ptr, (unsigned long long) *ptr );
                rcnt++;
                ptr++;
        }
@@ -1451,9 +1451,9 @@ ioc_iova_init(struct ioc *ioc)
        iov_order = get_order(ioc->iov_size >> (IOVP_SHIFT - PAGE_SHIFT));
        ioc->pdir_size = (ioc->iov_size / IOVP_SIZE) * sizeof(u64);
 
-       DBG_INIT("%s() hpa 0x%lx IOV %dMB (%d bits) PDIR size 0x%0x\n",
-               __FUNCTION__, ioc->ioc_hpa, ioc->iov_size >> 20,
-               iov_order + PAGE_SHIFT, ioc->pdir_size);
+       DBG_INIT("%s() hpa %p IOV %dMB (%d bits) PDIR size 0x%0x\n",
+                __FUNCTION__, ioc->ioc_hpa, ioc->iov_size >> 20,
+                iov_order + PAGE_SHIFT, ioc->pdir_size);
 
        /* FIXME : DMA HINTs not used */
        ioc->hint_shift_pdir = iov_order + PAGE_SHIFT;
@@ -1552,7 +1552,7 @@ ioc_iova_init(struct ioc *ioc)
                if (!addr)
                        panic(PFX "Couldn't allocate PDIR spill page\n");
 
-               poison_addr = (u64) addr;
+               poison_addr = addr;
                for ( ; (u64) poison_addr < addr + IOVP_SIZE; poison_addr += poison_size)
                        memcpy(poison_addr, spill_poison, poison_size);
 
@@ -1824,7 +1824,6 @@ sba_proc_init(void)
                create_proc_info_entry(ioc_list->name, 0, proc_mckinley_root, sba_proc_info);
                create_proc_info_entry("bitmap", 0, proc_mckinley_root, sba_resource_map);
        }
-       return 0;
 }
 #endif
 
@@ -1919,7 +1918,7 @@ sba_init(void)
        return 0;
 }
 
-device_initcall(sba_init);
+subsys_initcall(sba_init); /* must be initialized after ACPI etc., but before any drivers... */
 
 static int __init
 nosbagart(char *str)