Commit 9e052e2d authored by Joe Carnuccio's avatar Joe Carnuccio Committed by Martin K. Petersen
Browse files

qla2xxx: Separate ISP type bits out from device type.

parent ef55e513
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -3130,7 +3130,7 @@ struct qla_hw_data {
#define PCI_DEVICE_ID_QLOGIC_ISP2271	0x2271
#define PCI_DEVICE_ID_QLOGIC_ISP2271	0x2271
#define PCI_DEVICE_ID_QLOGIC_ISP2261	0x2261
#define PCI_DEVICE_ID_QLOGIC_ISP2261	0x2261


	uint32_t	device_type;
	uint32_t	isp_type;
#define DT_ISP2100                      BIT_0
#define DT_ISP2100                      BIT_0
#define DT_ISP2200                      BIT_1
#define DT_ISP2200                      BIT_1
#define DT_ISP2300                      BIT_2
#define DT_ISP2300                      BIT_2
@@ -3155,6 +3155,7 @@ struct qla_hw_data {
#define DT_ISP2261			BIT_21
#define DT_ISP2261			BIT_21
#define DT_ISP_LAST			(DT_ISP2261 << 1)
#define DT_ISP_LAST			(DT_ISP2261 << 1)


	uint32_t	device_type;
#define DT_T10_PI                       BIT_25
#define DT_T10_PI                       BIT_25
#define DT_IIDMA                        BIT_26
#define DT_IIDMA                        BIT_26
#define DT_FWI2                         BIT_27
#define DT_FWI2                         BIT_27
@@ -3162,7 +3163,8 @@ struct qla_hw_data {
#define DT_OEM_001                      BIT_29
#define DT_OEM_001                      BIT_29
#define DT_ISP2200A                     BIT_30
#define DT_ISP2200A                     BIT_30
#define DT_EXTENDED_IDS                 BIT_31
#define DT_EXTENDED_IDS                 BIT_31
#define DT_MASK(ha)     ((ha)->device_type & (DT_ISP_LAST - 1))

#define DT_MASK(ha)     ((ha)->isp_type & (DT_ISP_LAST - 1))
#define IS_QLA2100(ha)  (DT_MASK(ha) & DT_ISP2100)
#define IS_QLA2100(ha)  (DT_MASK(ha) & DT_ISP2100)
#define IS_QLA2200(ha)  (DT_MASK(ha) & DT_ISP2200)
#define IS_QLA2200(ha)  (DT_MASK(ha) & DT_ISP2200)
#define IS_QLA2300(ha)  (DT_MASK(ha) & DT_ISP2300)
#define IS_QLA2300(ha)  (DT_MASK(ha) & DT_ISP2300)
+22 −22
Original line number Original line Diff line number Diff line
@@ -2110,27 +2110,27 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
	ha->device_type = DT_EXTENDED_IDS;
	ha->device_type = DT_EXTENDED_IDS;
	switch (ha->pdev->device) {
	switch (ha->pdev->device) {
	case PCI_DEVICE_ID_QLOGIC_ISP2100:
	case PCI_DEVICE_ID_QLOGIC_ISP2100:
		ha->device_type |= DT_ISP2100;
		ha->isp_type |= DT_ISP2100;
		ha->device_type &= ~DT_EXTENDED_IDS;
		ha->device_type &= ~DT_EXTENDED_IDS;
		ha->fw_srisc_address = RISC_START_ADDRESS_2100;
		ha->fw_srisc_address = RISC_START_ADDRESS_2100;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2200:
	case PCI_DEVICE_ID_QLOGIC_ISP2200:
		ha->device_type |= DT_ISP2200;
		ha->isp_type |= DT_ISP2200;
		ha->device_type &= ~DT_EXTENDED_IDS;
		ha->device_type &= ~DT_EXTENDED_IDS;
		ha->fw_srisc_address = RISC_START_ADDRESS_2100;
		ha->fw_srisc_address = RISC_START_ADDRESS_2100;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2300:
	case PCI_DEVICE_ID_QLOGIC_ISP2300:
		ha->device_type |= DT_ISP2300;
		ha->isp_type |= DT_ISP2300;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2312:
	case PCI_DEVICE_ID_QLOGIC_ISP2312:
		ha->device_type |= DT_ISP2312;
		ha->isp_type |= DT_ISP2312;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2322:
	case PCI_DEVICE_ID_QLOGIC_ISP2322:
		ha->device_type |= DT_ISP2322;
		ha->isp_type |= DT_ISP2322;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		if (ha->pdev->subsystem_vendor == 0x1028 &&
		if (ha->pdev->subsystem_vendor == 0x1028 &&
		    ha->pdev->subsystem_device == 0x0170)
		    ha->pdev->subsystem_device == 0x0170)
@@ -2138,60 +2138,60 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP6312:
	case PCI_DEVICE_ID_QLOGIC_ISP6312:
		ha->device_type |= DT_ISP6312;
		ha->isp_type |= DT_ISP6312;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP6322:
	case PCI_DEVICE_ID_QLOGIC_ISP6322:
		ha->device_type |= DT_ISP6322;
		ha->isp_type |= DT_ISP6322;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		ha->fw_srisc_address = RISC_START_ADDRESS_2300;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2422:
	case PCI_DEVICE_ID_QLOGIC_ISP2422:
		ha->device_type |= DT_ISP2422;
		ha->isp_type |= DT_ISP2422;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2432:
	case PCI_DEVICE_ID_QLOGIC_ISP2432:
		ha->device_type |= DT_ISP2432;
		ha->isp_type |= DT_ISP2432;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP8432:
	case PCI_DEVICE_ID_QLOGIC_ISP8432:
		ha->device_type |= DT_ISP8432;
		ha->isp_type |= DT_ISP8432;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP5422:
	case PCI_DEVICE_ID_QLOGIC_ISP5422:
		ha->device_type |= DT_ISP5422;
		ha->isp_type |= DT_ISP5422;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP5432:
	case PCI_DEVICE_ID_QLOGIC_ISP5432:
		ha->device_type |= DT_ISP5432;
		ha->isp_type |= DT_ISP5432;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2532:
	case PCI_DEVICE_ID_QLOGIC_ISP2532:
		ha->device_type |= DT_ISP2532;
		ha->isp_type |= DT_ISP2532;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP8001:
	case PCI_DEVICE_ID_QLOGIC_ISP8001:
		ha->device_type |= DT_ISP8001;
		ha->isp_type |= DT_ISP8001;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP8021:
	case PCI_DEVICE_ID_QLOGIC_ISP8021:
		ha->device_type |= DT_ISP8021;
		ha->isp_type |= DT_ISP8021;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
@@ -2199,7 +2199,7 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
		qla82xx_init_flags(ha);
		qla82xx_init_flags(ha);
		break;
		break;
	 case PCI_DEVICE_ID_QLOGIC_ISP8044:
	 case PCI_DEVICE_ID_QLOGIC_ISP8044:
		ha->device_type |= DT_ISP8044;
		ha->isp_type |= DT_ISP8044;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
@@ -2207,7 +2207,7 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
		qla82xx_init_flags(ha);
		qla82xx_init_flags(ha);
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2031:
	case PCI_DEVICE_ID_QLOGIC_ISP2031:
		ha->device_type |= DT_ISP2031;
		ha->isp_type |= DT_ISP2031;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
@@ -2215,7 +2215,7 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP8031:
	case PCI_DEVICE_ID_QLOGIC_ISP8031:
		ha->device_type |= DT_ISP8031;
		ha->isp_type |= DT_ISP8031;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
@@ -2223,10 +2223,10 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISPF001:
	case PCI_DEVICE_ID_QLOGIC_ISPF001:
		ha->device_type |= DT_ISPFX00;
		ha->isp_type |= DT_ISPFX00;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2071:
	case PCI_DEVICE_ID_QLOGIC_ISP2071:
		ha->device_type |= DT_ISP2071;
		ha->isp_type |= DT_ISP2071;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
@@ -2234,7 +2234,7 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2271:
	case PCI_DEVICE_ID_QLOGIC_ISP2271:
		ha->device_type |= DT_ISP2271;
		ha->isp_type |= DT_ISP2271;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;
@@ -2242,7 +2242,7 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha)
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2261:
	case PCI_DEVICE_ID_QLOGIC_ISP2261:
		ha->device_type |= DT_ISP2261;
		ha->isp_type |= DT_ISP2261;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->device_type |= DT_IIDMA;