Jakub, David, Eddie,
or whoever is less loaded and has an Ultra:
I need to offload couple of small fixes that touch common code with
sparc64. Please consider...
1. sunhme forgets to do ioremap. This works on Ultra because ioremap
is nop there anyways...
Index: drivers/net/sunhme.c
===================================================================
RCS file: /cvs/linux/linux/drivers/net/sunhme.c,v
retrieving revision 1.80
diff -u -r1.80 sunhme.c
--- drivers/net/sunhme.c 1999/09/21 14:36:29 1.80
+++ drivers/net/sunhme.c 1999/10/06 01:35:09
@@ -2761,6 +2761,8 @@
printk("happymeal(PCI): Cannot find proper PCI device base
address.\n");
return ENODEV;
}
+ hpreg_base &= PCI_BASE_ADDRESS_MEM_MASK;
+ hpreg_base = (unsigned long) ioremap(hpreg_base, 0x8000);
if (qfe_slot != -1 && prom_getproplen(node, "local-mac-address") == 6)
prom_getproperty(node, "local-mac-address", dev->dev_addr, 6);
@@ -2805,9 +2807,10 @@
hp->hblock_dvma = (u32) virt_to_bus(hp->happy_block);
#ifndef __sparc_v9__
- /* This case we currently need to use 'sparc_alloc_io' */
- hp->happy_block = sparc_alloc_io (hp->hblock_dvma, NULL,
- PAGE_SIZE, "sunhme", 0, 0);
+ /*
+ * P3: Dirty trick to get uncacheable memory as we have no dma_sync.
+ */
+ hp->happy_block = ioremap(virt_to_phys(hp->happy_block), PAGE_SIZE);
#endif
hp->linkcheck = 0;
2. sbus_iommu_init is specific to sparc64, we use iommu_init on sparc
(confused yet?)
Index: drivers/sbus/sbus.c
===================================================================
RCS file: /cvs/linux/linux/drivers/sbus/sbus.c,v
retrieving revision 1.81
diff -u -r1.81 sbus.c
--- drivers/sbus/sbus.c 1999/09/21 14:36:58 1.81
+++ drivers/sbus/sbus.c 1999/10/06 01:35:12
@@ -372,14 +372,16 @@
/* Loop until we find no more SBUS's */
while(this_sbus) {
+#ifdef __sparc_v9__
/* IOMMU hides inside SBUS/SYSIO prom node on Ultra. */
if(sparc_cpu_model == sun4u) {
extern void sbus_iommu_init(int prom_node, struct sbus_bus
*sbus);
sbus_iommu_init(this_sbus, sbus);
}
+#endif
#ifndef __sparc_v9__
- else if (sparc_cpu_model == sun4d)
+ if (sparc_cpu_model == sun4d)
iounit_init(this_sbus, iommund, sbus);
#endif
printk("sbus%d: ", num_sbus);
Thanks,
--Pete
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of the message to [EMAIL PROTECTED]