Lines Matching refs:req
98 struct req_que *req = vha->req; in qla2x00_prep_cont_type0_iocb() local
100 req->ring_index++; in qla2x00_prep_cont_type0_iocb()
101 if (req->ring_index == req->length) { in qla2x00_prep_cont_type0_iocb()
102 req->ring_index = 0; in qla2x00_prep_cont_type0_iocb()
103 req->ring_ptr = req->ring; in qla2x00_prep_cont_type0_iocb()
105 req->ring_ptr++; in qla2x00_prep_cont_type0_iocb()
108 cont_pkt = (cont_entry_t *)req->ring_ptr; in qla2x00_prep_cont_type0_iocb()
123 qla2x00_prep_cont_type1_iocb(scsi_qla_host_t *vha, struct req_que *req) in qla2x00_prep_cont_type1_iocb() argument
128 req->ring_index++; in qla2x00_prep_cont_type1_iocb()
129 if (req->ring_index == req->length) { in qla2x00_prep_cont_type1_iocb()
130 req->ring_index = 0; in qla2x00_prep_cont_type1_iocb()
131 req->ring_ptr = req->ring; in qla2x00_prep_cont_type1_iocb()
133 req->ring_ptr++; in qla2x00_prep_cont_type1_iocb()
136 cont_pkt = (cont_a64_entry_t *)req->ring_ptr; in qla2x00_prep_cont_type1_iocb()
289 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla2x00_build_scsi_iocbs_64()
324 struct req_que *req; in qla2x00_start_scsi() local
332 req = ha->req_q_map[0]; in qla2x00_start_scsi()
339 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla2x00_start_scsi()
350 handle = req->current_outstanding_cmd; in qla2x00_start_scsi()
351 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla2x00_start_scsi()
353 if (handle == req->num_outstanding_cmds) in qla2x00_start_scsi()
355 if (!req->outstanding_cmds[handle]) in qla2x00_start_scsi()
358 if (index == req->num_outstanding_cmds) in qla2x00_start_scsi()
374 if (req->cnt < (req_cnt + 2)) { in qla2x00_start_scsi()
376 if (req->ring_index < cnt) in qla2x00_start_scsi()
377 req->cnt = cnt - req->ring_index; in qla2x00_start_scsi()
379 req->cnt = req->length - in qla2x00_start_scsi()
380 (req->ring_index - cnt); in qla2x00_start_scsi()
382 if (req->cnt < (req_cnt + 2)) in qla2x00_start_scsi()
387 req->current_outstanding_cmd = handle; in qla2x00_start_scsi()
388 req->outstanding_cmds[handle] = sp; in qla2x00_start_scsi()
391 req->cnt -= req_cnt; in qla2x00_start_scsi()
393 cmd_pkt = (cmd_entry_t *)req->ring_ptr; in qla2x00_start_scsi()
417 req->ring_index++; in qla2x00_start_scsi()
418 if (req->ring_index == req->length) { in qla2x00_start_scsi()
419 req->ring_index = 0; in qla2x00_start_scsi()
420 req->ring_ptr = req->ring; in qla2x00_start_scsi()
422 req->ring_ptr++; in qla2x00_start_scsi()
427 WRT_REG_WORD(ISP_REQ_Q_IN(ha, reg), req->ring_index); in qla2x00_start_scsi()
451 qla2x00_start_iocbs(struct scsi_qla_host *vha, struct req_que *req) in qla2x00_start_iocbs() argument
454 device_reg_t *reg = ISP_QUE_REG(ha, req->id); in qla2x00_start_iocbs()
460 req->ring_index++; in qla2x00_start_iocbs()
461 if (req->ring_index == req->length) { in qla2x00_start_iocbs()
462 req->ring_index = 0; in qla2x00_start_iocbs()
463 req->ring_ptr = req->ring; in qla2x00_start_iocbs()
465 req->ring_ptr++; in qla2x00_start_iocbs()
469 WRT_REG_DWORD(req->req_q_in, req->ring_index); in qla2x00_start_iocbs()
472 WRT_REG_DWORD(®->ispfx00.req_q_in, req->ring_index); in qla2x00_start_iocbs()
476 WRT_REG_DWORD(®->isp24.req_q_in, req->ring_index); in qla2x00_start_iocbs()
480 req->ring_index); in qla2x00_start_iocbs()
498 __qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, in __qla2x00_marker() argument
508 req = ha->req_q_map[0]; in __qla2x00_marker()
526 mrk24->handle = MAKE_HANDLE(req->id, mrk24->handle); in __qla2x00_marker()
534 qla2x00_start_iocbs(vha, req); in __qla2x00_marker()
540 qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, in qla2x00_marker() argument
548 ret = __qla2x00_marker(vha, req, rsp, loop_id, lun, type); in qla2x00_marker()
564 if (__qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, in qla2x00_issue_marker()
568 if (qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, in qla2x00_issue_marker()
748 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla24xx_build_scsi_iocbs()
1432 struct req_que *req = NULL; in qla24xx_start_scsi() local
1440 req = vha->req; in qla24xx_start_scsi()
1447 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla24xx_start_scsi()
1457 handle = req->current_outstanding_cmd; in qla24xx_start_scsi()
1458 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla24xx_start_scsi()
1460 if (handle == req->num_outstanding_cmds) in qla24xx_start_scsi()
1462 if (!req->outstanding_cmds[handle]) in qla24xx_start_scsi()
1465 if (index == req->num_outstanding_cmds) in qla24xx_start_scsi()
1479 if (req->cnt < (req_cnt + 2)) { in qla24xx_start_scsi()
1480 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla24xx_start_scsi()
1481 RD_REG_DWORD_RELAXED(req->req_q_out); in qla24xx_start_scsi()
1482 if (req->ring_index < cnt) in qla24xx_start_scsi()
1483 req->cnt = cnt - req->ring_index; in qla24xx_start_scsi()
1485 req->cnt = req->length - in qla24xx_start_scsi()
1486 (req->ring_index - cnt); in qla24xx_start_scsi()
1487 if (req->cnt < (req_cnt + 2)) in qla24xx_start_scsi()
1492 req->current_outstanding_cmd = handle; in qla24xx_start_scsi()
1493 req->outstanding_cmds[handle] = sp; in qla24xx_start_scsi()
1496 req->cnt -= req_cnt; in qla24xx_start_scsi()
1498 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla24xx_start_scsi()
1499 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_start_scsi()
1534 req->ring_index++; in qla24xx_start_scsi()
1535 if (req->ring_index == req->length) { in qla24xx_start_scsi()
1536 req->ring_index = 0; in qla24xx_start_scsi()
1537 req->ring_ptr = req->ring; in qla24xx_start_scsi()
1539 req->ring_ptr++; in qla24xx_start_scsi()
1544 WRT_REG_DWORD(req->req_q_in, req->ring_index); in qla24xx_start_scsi()
1583 struct req_que *req = NULL; in qla24xx_dif_start_scsi() local
1602 req = vha->req; in qla24xx_dif_start_scsi()
1609 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla24xx_dif_start_scsi()
1619 handle = req->current_outstanding_cmd; in qla24xx_dif_start_scsi()
1620 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla24xx_dif_start_scsi()
1622 if (handle == req->num_outstanding_cmds) in qla24xx_dif_start_scsi()
1624 if (!req->outstanding_cmds[handle]) in qla24xx_dif_start_scsi()
1628 if (index == req->num_outstanding_cmds) in qla24xx_dif_start_scsi()
1683 if (req->cnt < (req_cnt + 2)) { in qla24xx_dif_start_scsi()
1684 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla24xx_dif_start_scsi()
1685 RD_REG_DWORD_RELAXED(req->req_q_out); in qla24xx_dif_start_scsi()
1686 if (req->ring_index < cnt) in qla24xx_dif_start_scsi()
1687 req->cnt = cnt - req->ring_index; in qla24xx_dif_start_scsi()
1689 req->cnt = req->length - in qla24xx_dif_start_scsi()
1690 (req->ring_index - cnt); in qla24xx_dif_start_scsi()
1691 if (req->cnt < (req_cnt + 2)) in qla24xx_dif_start_scsi()
1698 req->current_outstanding_cmd = handle; in qla24xx_dif_start_scsi()
1699 req->outstanding_cmds[handle] = sp; in qla24xx_dif_start_scsi()
1702 req->cnt -= req_cnt; in qla24xx_dif_start_scsi()
1705 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla24xx_dif_start_scsi()
1706 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_dif_start_scsi()
1725 req->ring_ptr, tot_dsds, tot_prot_dsds, fw_prot_opts) != in qla24xx_dif_start_scsi()
1736 req->ring_index++; in qla24xx_dif_start_scsi()
1737 if (req->ring_index == req->length) { in qla24xx_dif_start_scsi()
1738 req->ring_index = 0; in qla24xx_dif_start_scsi()
1739 req->ring_ptr = req->ring; in qla24xx_dif_start_scsi()
1741 req->ring_ptr++; in qla24xx_dif_start_scsi()
1744 WRT_REG_DWORD(req->req_q_in, req->ring_index); in qla24xx_dif_start_scsi()
1758 req->outstanding_cmds[handle] = NULL; in qla24xx_dif_start_scsi()
1759 req->cnt += req_cnt; in qla24xx_dif_start_scsi()
1797 struct req_que *req = ha->req_q_map[0]; in qla2x00_alloc_iocbs() local
1798 device_reg_t *reg = ISP_QUE_REG(ha, req->id); in qla2x00_alloc_iocbs()
1811 handle = req->current_outstanding_cmd; in qla2x00_alloc_iocbs()
1812 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla2x00_alloc_iocbs()
1814 if (handle == req->num_outstanding_cmds) in qla2x00_alloc_iocbs()
1816 if (!req->outstanding_cmds[handle]) in qla2x00_alloc_iocbs()
1819 if (index == req->num_outstanding_cmds) { in qla2x00_alloc_iocbs()
1826 req->current_outstanding_cmd = handle; in qla2x00_alloc_iocbs()
1827 req->outstanding_cmds[handle] = sp; in qla2x00_alloc_iocbs()
1836 if (req->cnt < req_cnt + 2) { in qla2x00_alloc_iocbs()
1849 if (req->ring_index < cnt) in qla2x00_alloc_iocbs()
1850 req->cnt = cnt - req->ring_index; in qla2x00_alloc_iocbs()
1852 req->cnt = req->length - in qla2x00_alloc_iocbs()
1853 (req->ring_index - cnt); in qla2x00_alloc_iocbs()
1855 if (req->cnt < req_cnt + 2) in qla2x00_alloc_iocbs()
1859 req->cnt -= req_cnt; in qla2x00_alloc_iocbs()
1860 pkt = req->ring_ptr; in qla2x00_alloc_iocbs()
1989 struct req_que *req = vha->req; in qla24xx_tm_iocb() local
1996 tsk->handle = MAKE_HANDLE(req->id, tsk->handle); in qla24xx_tm_iocb()
2231 struct req_que *req = NULL; in qla82xx_start_scsi() local
2237 req = vha->req; in qla82xx_start_scsi()
2247 if (qla2x00_marker(vha, req, in qla82xx_start_scsi()
2260 handle = req->current_outstanding_cmd; in qla82xx_start_scsi()
2261 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla82xx_start_scsi()
2263 if (handle == req->num_outstanding_cmds) in qla82xx_start_scsi()
2265 if (!req->outstanding_cmds[handle]) in qla82xx_start_scsi()
2268 if (index == req->num_outstanding_cmds) in qla82xx_start_scsi()
2327 if (req->cnt < (req_cnt + 2)) { in qla82xx_start_scsi()
2330 if (req->ring_index < cnt) in qla82xx_start_scsi()
2331 req->cnt = cnt - req->ring_index; in qla82xx_start_scsi()
2333 req->cnt = req->length - in qla82xx_start_scsi()
2334 (req->ring_index - cnt); in qla82xx_start_scsi()
2335 if (req->cnt < (req_cnt + 2)) in qla82xx_start_scsi()
2377 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr; in qla82xx_start_scsi()
2378 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
2438 if (req->cnt < (req_cnt + 2)) { in qla82xx_start_scsi()
2441 if (req->ring_index < cnt) in qla82xx_start_scsi()
2442 req->cnt = cnt - req->ring_index; in qla82xx_start_scsi()
2444 req->cnt = req->length - in qla82xx_start_scsi()
2445 (req->ring_index - cnt); in qla82xx_start_scsi()
2447 if (req->cnt < (req_cnt + 2)) in qla82xx_start_scsi()
2450 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla82xx_start_scsi()
2451 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
2492 req->current_outstanding_cmd = handle; in qla82xx_start_scsi()
2493 req->outstanding_cmds[handle] = sp; in qla82xx_start_scsi()
2496 req->cnt -= req_cnt; in qla82xx_start_scsi()
2500 req->ring_index++; in qla82xx_start_scsi()
2501 if (req->ring_index == req->length) { in qla82xx_start_scsi()
2502 req->ring_index = 0; in qla82xx_start_scsi()
2503 req->ring_ptr = req->ring; in qla82xx_start_scsi()
2505 req->ring_ptr++; in qla82xx_start_scsi()
2511 dbval = dbval | (req->id << 8) | (req->ring_index << 16); in qla82xx_start_scsi()
2551 struct req_que *req = vha->req; in qla24xx_abort_iocb() local
2556 abt_iocb->handle = cpu_to_le32(MAKE_HANDLE(req->id, sp->handle)); in qla24xx_abort_iocb()
2559 cpu_to_le32(MAKE_HANDLE(req->id, aio->u.abt.cmd_hndl)); in qla24xx_abort_iocb()
2564 abt_iocb->req_que_no = cpu_to_le16(req->id); in qla24xx_abort_iocb()
2692 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla25xx_build_bidir_iocb()
2718 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla25xx_build_bidir_iocb()
2746 struct req_que *req; in qla2x00_start_bidir() local
2752 req = vha->req; in qla2x00_start_bidir()
2756 if (qla2x00_marker(vha, req, in qla2x00_start_bidir()
2766 handle = req->current_outstanding_cmd; in qla2x00_start_bidir()
2767 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla2x00_start_bidir()
2769 if (handle == req->num_outstanding_cmds) in qla2x00_start_bidir()
2771 if (!req->outstanding_cmds[handle]) in qla2x00_start_bidir()
2775 if (index == req->num_outstanding_cmds) { in qla2x00_start_bidir()
2784 if (req->cnt < req_cnt + 2) { in qla2x00_start_bidir()
2785 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla2x00_start_bidir()
2786 RD_REG_DWORD_RELAXED(req->req_q_out); in qla2x00_start_bidir()
2787 if (req->ring_index < cnt) in qla2x00_start_bidir()
2788 req->cnt = cnt - req->ring_index; in qla2x00_start_bidir()
2790 req->cnt = req->length - in qla2x00_start_bidir()
2791 (req->ring_index - cnt); in qla2x00_start_bidir()
2793 if (req->cnt < req_cnt + 2) { in qla2x00_start_bidir()
2798 cmd_pkt = (struct cmd_bidir *)req->ring_ptr; in qla2x00_start_bidir()
2799 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2x00_start_bidir()
2815 req->current_outstanding_cmd = handle; in qla2x00_start_bidir()
2816 req->outstanding_cmds[handle] = sp; in qla2x00_start_bidir()
2818 req->cnt -= req_cnt; in qla2x00_start_bidir()
2822 qla2x00_start_iocbs(vha, req); in qla2x00_start_bidir()