[parisc-linux-cvs] fix Ike sversion

Matthew Wilcox willy@debian.org
Wed, 31 Oct 2001 19:25:56 +0000


This makes L3000 work better.

Index: arch/parisc/kernel/sba_iommu.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/sba_iommu.c,v
retrieving revision 1.54
diff -u -p -r1.54 sba_iommu.c
--- arch/parisc/kernel/sba_iommu.c	2001/10/23 20:23:55	1.54
+++ arch/parisc/kernel/sba_iommu.c	2001/10/31 16:27:32
@@ -95,27 +95,26 @@
 
 #define DEFAULT_DMA_HINT_REG	0
 
-#define ASTRO_RUNWAY_PORT    0x582
-#define ASTRO_ROPES_PORT     0x780
+#define ASTRO_RUNWAY_PORT	0x582
+#define ASTRO_ROPES_PORT	0x780
 
-#define IKE_MERCED_PORT      0x803
-#define IKE_ROPES_PORT       0x781
+#define IKE_MERCED_PORT		0x803
+#define IKE_ROPES_PORT		0x781
 
-#define REO_MERCED_PORT	     0x804
-#define REO_ROPES_PORT	     0x782
+#define REO_MERCED_PORT		0x804
+#define REO_ROPES_PORT		0x782
 
+#define REOG_MERCED_PORT	0x805
+#define REOG_ROPES_PORT		0x783
+
 #define SBA_FUNC_ID	0x0000	/* function id */
 #define SBA_FCLASS	0x0008	/* function class, bist, header, rev... */
+
+#define IS_ASTRO(id) \
+(((id)->hversion == ASTRO_RUNWAY_PORT) || ((id)->hversion == ASTRO_ROPES_PORT))
 
-#define IS_ASTRO(id) ( \
-    (((id)->hw_type == HPHW_IOA) && ((id)->hversion == ASTRO_RUNWAY_PORT)) || \
-    (((id)->hw_type == HPHW_BCPORT) && ((id)->hversion == ASTRO_ROPES_PORT))  \
-)
-
-#define IS_IKE(id) ( \
-    (((id)->hw_type == HPHW_BCPORT) && ((id)->hversion == IKE_MERCED_PORT)) || \
-    (((id)->hw_type == HPHW_BCPORT) && ((id)->hversion == IKE_ROPES_PORT))  \
-)
+#define IS_IKE(id) \
+(((id)->hversion == IKE_MERCED_PORT) || ((id)->hversion == IKE_ROPES_PORT))
 
 #define SBA_FUNC_SIZE 4096   /* SBA configuration function reg set */
 
@@ -1826,12 +1825,16 @@ sba_driver_callback(struct parisc_device
 }
 
 static struct parisc_device_id sba_tbl[] = {
-/* FIXME: why is SVERSION checked? */
 	{ HPHW_IOA, HVERSION_REV_ANY_ID, ASTRO_RUNWAY_PORT, 0xb },
-	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, ASTRO_ROPES_PORT, 0xb },
+	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, IKE_MERCED_PORT, 0xc },
 	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, REO_MERCED_PORT, 0xc },
-	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, IKE_MERCED_PORT, 0xb },
-	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, IKE_ROPES_PORT, 0xb },
+	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, REOG_MERCED_PORT, 0xc },
+/* These two entries commented out because we don't find them in a
+ * buswalk yet.  If/when we do, they would cause us to think we had
+ * many more SBAs then we really do.
+ *	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, ASTRO_ROPES_PORT, 0xc },
+ *	{ HPHW_BCPORT, HVERSION_REV_ANY_ID, IKE_ROPES_PORT, 0xc },
+ */
 	{ 0, }
 };
 

-- 
Revolutions do not require corporate support.