Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c76f2c01 authored by Andrew Vasquez's avatar Andrew Vasquez Committed by James Bottomley
Browse files

[SCSI] qla2xxx: Generalize iIDMA support.



In preparation for new ISP types.

Signed-off-by: default avatarAndrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent e428924c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2215,6 +2215,7 @@ typedef struct scsi_qla_host {
#define DT_ISP5432			BIT_10
#define DT_ISP_LAST			(DT_ISP5432 << 1)

#define DT_IIDMA			BIT_26
#define DT_FWI2				BIT_27
#define DT_ZIO_SUPPORTED		BIT_28
#define DT_OEM_001			BIT_29
@@ -2239,6 +2240,7 @@ typedef struct scsi_qla_host {
#define IS_QLA24XX(ha)	(IS_QLA2422(ha) || IS_QLA2432(ha))
#define IS_QLA54XX(ha)	(IS_QLA5422(ha) || IS_QLA5432(ha))

#define IS_IIDMA_CAPABLE(ha)	((ha)->device_type & DT_IIDMA)
#define IS_FWI2_CAPABLE(ha)	((ha)->device_type & DT_FWI2)
#define IS_ZIO_SUPPORTED(ha)	((ha)->device_type & DT_ZIO_SUPPORTED)
#define IS_OEM_001(ha)		((ha)->device_type & DT_OEM_001)
+2 −2
Original line number Diff line number Diff line
@@ -1678,7 +1678,7 @@ qla2x00_gfpn_id(scsi_qla_host_t *ha, sw_info_t *list)
	struct ct_sns_req	*ct_req;
	struct ct_sns_rsp	*ct_rsp;

	if (!IS_FWI2_CAPABLE(ha))
	if (!IS_IIDMA_CAPABLE(ha))
		return QLA_FUNCTION_FAILED;

	for (i = 0; i < MAX_FIBRE_DEVICES; i++) {
@@ -1786,7 +1786,7 @@ qla2x00_gpsc(scsi_qla_host_t *ha, sw_info_t *list)
	struct ct_sns_req	*ct_req;
	struct ct_sns_rsp	*ct_rsp;

	if (!IS_FWI2_CAPABLE(ha))
	if (!IS_IIDMA_CAPABLE(ha))
		return QLA_FUNCTION_FAILED;
	if (!ha->flags.gpsc_supported)
		return QLA_FUNCTION_FAILED;
+1 −1
Original line number Diff line number Diff line
@@ -2119,7 +2119,7 @@ qla2x00_iidma_fcport(scsi_qla_host_t *ha, fc_port_t *fcport)
	int rval;
	uint16_t port_speed, mb[6];

	if (!IS_QLA24XX(ha))
	if (!IS_IIDMA_CAPABLE(ha))
		return;

	switch (be16_to_cpu(fcport->fp_speed)) {
+2 −2
Original line number Diff line number Diff line
@@ -2552,7 +2552,7 @@ qla2x00_get_idma_speed(scsi_qla_host_t *ha, uint16_t loop_id,
	mbx_cmd_t mc;
	mbx_cmd_t *mcp = &mc;

	if (!IS_QLA24XX(ha))
	if (!IS_IIDMA_CAPABLE(ha))
		return QLA_FUNCTION_FAILED;

	DEBUG11(printk("%s(%ld): entered.\n", __func__, ha->host_no));
@@ -2595,7 +2595,7 @@ qla2x00_set_idma_speed(scsi_qla_host_t *ha, uint16_t loop_id,
	mbx_cmd_t mc;
	mbx_cmd_t *mcp = &mc;

	if (!IS_QLA24XX(ha))
	if (!IS_IIDMA_CAPABLE(ha))
		return QLA_FUNCTION_FAILED;

	DEBUG11(printk("%s(%ld): entered.\n", __func__, ha->host_no));
+2 −0
Original line number Diff line number Diff line
@@ -1239,12 +1239,14 @@ qla2x00_set_isp_flags(scsi_qla_host_t *ha)
		ha->device_type |= DT_ISP2422;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP2432:
		ha->device_type |= DT_ISP2432;
		ha->device_type |= DT_ZIO_SUPPORTED;
		ha->device_type |= DT_FWI2;
		ha->device_type |= DT_IIDMA;
		ha->fw_srisc_address = RISC_START_ADDRESS_2400;
		break;
	case PCI_DEVICE_ID_QLOGIC_ISP5422: