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

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

qla2xxx: Add serdes read/write support for ISP27XX

parent 0137e59e
Loading
Loading
Loading
Loading
+11 −4
Original line number Original line Diff line number Diff line
@@ -2838,7 +2838,7 @@ qla2x00_write_serdes_word(scsi_qla_host_t *vha, uint16_t addr, uint16_t data)
	mbx_cmd_t mc;
	mbx_cmd_t mc;
	mbx_cmd_t *mcp = &mc;
	mbx_cmd_t *mcp = &mc;


	if (!IS_QLA2031(vha->hw))
	if (!IS_QLA2031(vha->hw) && !IS_QLA27XX(vha->hw))
		return QLA_FUNCTION_FAILED;
		return QLA_FUNCTION_FAILED;


	ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1182,
	ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1182,
@@ -2846,7 +2846,11 @@ qla2x00_write_serdes_word(scsi_qla_host_t *vha, uint16_t addr, uint16_t data)


	mcp->mb[0] = MBC_WRITE_SERDES;
	mcp->mb[0] = MBC_WRITE_SERDES;
	mcp->mb[1] = addr;
	mcp->mb[1] = addr;
	if (IS_QLA2031(vha->hw))
		mcp->mb[2] = data & 0xff;
		mcp->mb[2] = data & 0xff;
	else
		mcp->mb[2] = data;

	mcp->mb[3] = 0;
	mcp->mb[3] = 0;
	mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0;
	mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0;
	mcp->in_mb = MBX_0;
	mcp->in_mb = MBX_0;
@@ -2872,7 +2876,7 @@ qla2x00_read_serdes_word(scsi_qla_host_t *vha, uint16_t addr, uint16_t *data)
	mbx_cmd_t mc;
	mbx_cmd_t mc;
	mbx_cmd_t *mcp = &mc;
	mbx_cmd_t *mcp = &mc;


	if (!IS_QLA2031(vha->hw))
	if (!IS_QLA2031(vha->hw) && !IS_QLA27XX(vha->hw))
		return QLA_FUNCTION_FAILED;
		return QLA_FUNCTION_FAILED;


	ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1185,
	ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1185,
@@ -2887,7 +2891,10 @@ qla2x00_read_serdes_word(scsi_qla_host_t *vha, uint16_t addr, uint16_t *data)
	mcp->flags = 0;
	mcp->flags = 0;
	rval = qla2x00_mailbox_command(vha, mcp);
	rval = qla2x00_mailbox_command(vha, mcp);


	if (IS_QLA2031(vha->hw))
		*data = mcp->mb[1] & 0xff;
		*data = mcp->mb[1] & 0xff;
	else
		*data = mcp->mb[1];


	if (rval != QLA_SUCCESS) {
	if (rval != QLA_SUCCESS) {
		ql_dbg(ql_dbg_mbx, vha, 0x1186,
		ql_dbg(ql_dbg_mbx, vha, 0x1186,