Skip to contentSkip to conversation

ipr: add support for new Obsidian-E embedded adapter

PATCH In review Wayne Boyer 1 participant 3 messages Jun 24, 2010 – Jun 25, 2010 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

PATCH 1/2 ipr: add support for new Obsidian-E embedded adapter

This patch allows the driver to recognize a new Obsidian-E based adapter that uses a new subsystem ID.

This patch also fixes a few tab/space problems.

---
 drivers/scsi/ipr.c |    2 ++
 drivers/scsi/ipr.h |    9 +++++----
 2 files changed, 7 insertions(+), 4 deletions(-)
drivers/scsi/ipr.c +2 -0
Index: b/drivers/scsi/ipr.c
===================================================================
@@ -8889,6 +8889,8 @@ static struct pci_device_id ipr_pci_tabl
 	{ PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN_E,
 	      PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_57B3, 0, 0, 0 },
 	{ PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN_E,
+	      PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_57CC, 0, 0, 0 },
+	{ PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN_E,
 	      PCI_VENDOR_ID_IBM, IPR_SUBS_DEV_ID_57B7, 0, 0,
 	      IPR_USE_LONG_TRANSOP_TIMEOUT | IPR_USE_PCI_WARM_RESET },
 	{ PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_SNIPE,
drivers/scsi/ipr.h +5 -4
Index: b/drivers/scsi/ipr.h
===================================================================
@@ -62,12 +62,12 @@
 #define IPR_SUBS_DEV_ID_2780	0x0264
 #define IPR_SUBS_DEV_ID_5702	0x0266
 #define IPR_SUBS_DEV_ID_5703	0x0278
-#define IPR_SUBS_DEV_ID_572E  0x028D
-#define IPR_SUBS_DEV_ID_573E  0x02D3
-#define IPR_SUBS_DEV_ID_573D  0x02D4
+#define IPR_SUBS_DEV_ID_572E	0x028D
+#define IPR_SUBS_DEV_ID_573E	0x02D3
+#define IPR_SUBS_DEV_ID_573D	0x02D4
 #define IPR_SUBS_DEV_ID_571A	0x02C0
 #define IPR_SUBS_DEV_ID_571B	0x02BE
-#define IPR_SUBS_DEV_ID_571E  0x02BF
+#define IPR_SUBS_DEV_ID_571E	0x02BF
 #define IPR_SUBS_DEV_ID_571F	0x02D5
 #define IPR_SUBS_DEV_ID_572A	0x02C1
 #define IPR_SUBS_DEV_ID_572B	0x02C2
@@ -82,6 +82,7 @@
 #define IPR_SUBS_DEV_ID_57B4    0x033B
 #define IPR_SUBS_DEV_ID_57B2    0x035F
 #define IPR_SUBS_DEV_ID_57C6    0x0357
+#define IPR_SUBS_DEV_ID_57CC    0x035C
 
 #define IPR_SUBS_DEV_ID_57B5    0x033C
 #define IPR_SUBS_DEV_ID_57CE    0x035E
#2 lore raw

PATCH 2/2 ipr: change endian swap key to match hardware spec change

In reply to a message not in the archive

The value used to change the endian representation on the new adapters has changed. This patch updates that value.

---

 drivers/scsi/ipr.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/scsi/ipr.h +1 -1
Index: b/drivers/scsi/ipr.h
===================================================================
@@ -1257,7 +1257,7 @@ struct ipr_interrupt_offsets {
 	unsigned long dump_addr_reg;
 	unsigned long dump_data_reg;
 
-#define IPR_ENDIAN_SWAP_KEY		0x000C0C00
+#define IPR_ENDIAN_SWAP_KEY		0x000B0B00
 	unsigned long endian_swap_reg;
 };
 
#3 lore raw

Re: [PATCH 2/2] ipr: change endian swap key to match hardware spec change

Quoted 14 lines · Wayne Boyer

The value used to change the endian representation on the new adapters has changed. This patch updates that value.

---

 drivers/scsi/ipr.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/drivers/scsi/ipr.h
===================================================================

drivers/scsi/ipr.h struct ipr_interrupt_offsets { · line 1260

Quoted 5 lines
drivers/scsi/ipr.h +1 -1
@@ -1257,7 +1257,7 @@ struct ipr_interrupt_offsets {
 	unsigned long dump_addr_reg;
 	unsigned long dump_data_reg;
 
-#define IPR_ENDIAN_SWAP_KEY		0x000C0C00
+#define IPR_ENDIAN_SWAP_KEY		0x000B0B00

The original patch has the wrong value. I mistook "8" for "B" in the spec. The corrected patch is below.

---

The value used to change the endian representation on the new adapters has changed. This patch updates that value.

---

 drivers/scsi/ipr.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/scsi/ipr.h +1 -1
Index: b/drivers/scsi/ipr.h
===================================================================
@@ -1257,7 +1257,7 @@ struct ipr_interrupt_offsets {
 	unsigned long dump_addr_reg;
 	unsigned long dump_data_reg;
 
-#define IPR_ENDIAN_SWAP_KEY		0x000C0C00
+#define IPR_ENDIAN_SWAP_KEY		0x00080800
 	unsigned long endian_swap_reg;
 };