[SCSI] mpt fusion: Usage of high priority request FIFO to send task management commands
Added support for sending the task management requests through High priority request FIFO instead of Doorbell writes when firmware support High priority FIFO. signed-off-by: Sathya Prakash <sathya.prakash@lsi.com> Acked-by: Eric Moore <Eric.Moore@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
committed by
James Bottomley
parent
232f08fc82
commit
7a195f464e
@@ -1717,12 +1717,18 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 id, int lun, i
|
||||
|
||||
DBG_DUMP_TM_REQUEST_FRAME(ioc, (u32 *)pScsiTm);
|
||||
|
||||
if ((retval = mpt_send_handshake_request(hd->ioc->TaskCtx, hd->ioc,
|
||||
sizeof(SCSITaskMgmt_t), (u32*)pScsiTm, CAN_SLEEP)) != 0) {
|
||||
dfailprintk(hd->ioc, printk(MYIOC_s_ERR_FMT "send_handshake FAILED!"
|
||||
if ((hd->ioc->facts.IOCCapabilities & MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q) &&
|
||||
(hd->ioc->facts.MsgVersion >= MPI_VERSION_01_05))
|
||||
mpt_put_msg_frame_hi_pri(hd->ioc->TaskCtx, hd->ioc, mf);
|
||||
else {
|
||||
retval = mpt_send_handshake_request(hd->ioc->TaskCtx, hd->ioc,
|
||||
sizeof(SCSITaskMgmt_t), (u32*)pScsiTm, CAN_SLEEP);
|
||||
if (retval) {
|
||||
dfailprintk(hd->ioc, printk(MYIOC_s_ERR_FMT "send_handshake FAILED!"
|
||||
" (hd %p, ioc %p, mf %p, rc=%d) \n", hd->ioc->name, hd,
|
||||
hd->ioc, mf, retval));
|
||||
goto fail_out;
|
||||
goto fail_out;
|
||||
}
|
||||
}
|
||||
|
||||
if(mptscsih_tm_wait_for_completion(hd, timeout) == FAILED) {
|
||||
|
Reference in New Issue
Block a user