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()
124 qla2x00_prep_cont_type1_iocb(scsi_qla_host_t *vha, struct req_que *req) in qla2x00_prep_cont_type1_iocb() argument
129 req->ring_index++; in qla2x00_prep_cont_type1_iocb()
130 if (req->ring_index == req->length) { in qla2x00_prep_cont_type1_iocb()
131 req->ring_index = 0; in qla2x00_prep_cont_type1_iocb()
132 req->ring_ptr = req->ring; in qla2x00_prep_cont_type1_iocb()
134 req->ring_ptr++; in qla2x00_prep_cont_type1_iocb()
137 cont_pkt = (cont_a64_entry_t *)req->ring_ptr; in qla2x00_prep_cont_type1_iocb()
291 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla2x00_build_scsi_iocbs_64()
326 struct req_que *req; in qla2x00_start_scsi() local
335 req = ha->req_q_map[0]; in qla2x00_start_scsi()
342 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla2x00_start_scsi()
353 handle = req->current_outstanding_cmd; in qla2x00_start_scsi()
354 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla2x00_start_scsi()
356 if (handle == req->num_outstanding_cmds) in qla2x00_start_scsi()
358 if (!req->outstanding_cmds[handle]) in qla2x00_start_scsi()
361 if (index == req->num_outstanding_cmds) in qla2x00_start_scsi()
377 if (req->cnt < (req_cnt + 2)) { in qla2x00_start_scsi()
379 if (req->ring_index < cnt) in qla2x00_start_scsi()
380 req->cnt = cnt - req->ring_index; in qla2x00_start_scsi()
382 req->cnt = req->length - in qla2x00_start_scsi()
383 (req->ring_index - cnt); in qla2x00_start_scsi()
385 if (req->cnt < (req_cnt + 2)) in qla2x00_start_scsi()
390 req->current_outstanding_cmd = handle; in qla2x00_start_scsi()
391 req->outstanding_cmds[handle] = sp; in qla2x00_start_scsi()
394 req->cnt -= req_cnt; in qla2x00_start_scsi()
396 cmd_pkt = (cmd_entry_t *)req->ring_ptr; in qla2x00_start_scsi()
420 req->ring_index++; in qla2x00_start_scsi()
421 if (req->ring_index == req->length) { in qla2x00_start_scsi()
422 req->ring_index = 0; in qla2x00_start_scsi()
423 req->ring_ptr = req->ring; in qla2x00_start_scsi()
425 req->ring_ptr++; in qla2x00_start_scsi()
430 WRT_REG_WORD(ISP_REQ_Q_IN(ha, reg), req->ring_index); in qla2x00_start_scsi()
454 qla2x00_start_iocbs(struct scsi_qla_host *vha, struct req_que *req) in qla2x00_start_iocbs() argument
457 device_reg_t __iomem *reg = ISP_QUE_REG(ha, req->id); in qla2x00_start_iocbs()
463 req->ring_index++; in qla2x00_start_iocbs()
464 if (req->ring_index == req->length) { in qla2x00_start_iocbs()
465 req->ring_index = 0; in qla2x00_start_iocbs()
466 req->ring_ptr = req->ring; in qla2x00_start_iocbs()
468 req->ring_ptr++; in qla2x00_start_iocbs()
472 WRT_REG_DWORD(req->req_q_in, req->ring_index); in qla2x00_start_iocbs()
475 WRT_REG_DWORD(®->ispfx00.req_q_in, req->ring_index); in qla2x00_start_iocbs()
479 WRT_REG_DWORD(®->isp24.req_q_in, req->ring_index); in qla2x00_start_iocbs()
483 req->ring_index); in qla2x00_start_iocbs()
501 __qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, in __qla2x00_marker() argument
511 req = ha->req_q_map[0]; in __qla2x00_marker()
529 mrk24->handle = MAKE_HANDLE(req->id, mrk24->handle); in __qla2x00_marker()
537 qla2x00_start_iocbs(vha, req); in __qla2x00_marker()
543 qla2x00_marker(struct scsi_qla_host *vha, struct req_que *req, in qla2x00_marker() argument
551 ret = __qla2x00_marker(vha, req, rsp, loop_id, lun, type); in qla2x00_marker()
567 if (__qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, in qla2x00_issue_marker()
571 if (qla2x00_marker(vha, vha->req, vha->req->rsp, 0, 0, in qla2x00_issue_marker()
713 struct req_que *req; in qla24xx_build_scsi_iocbs() local
728 req = vha->req; in qla24xx_build_scsi_iocbs()
759 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla24xx_build_scsi_iocbs()
1454 struct req_que *req = NULL; in qla24xx_start_scsi() local
1464 req = vha->req; in qla24xx_start_scsi()
1471 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla24xx_start_scsi()
1481 handle = req->current_outstanding_cmd; in qla24xx_start_scsi()
1482 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla24xx_start_scsi()
1484 if (handle == req->num_outstanding_cmds) in qla24xx_start_scsi()
1486 if (!req->outstanding_cmds[handle]) in qla24xx_start_scsi()
1489 if (index == req->num_outstanding_cmds) in qla24xx_start_scsi()
1503 if (req->cnt < (req_cnt + 2)) { in qla24xx_start_scsi()
1504 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla24xx_start_scsi()
1505 RD_REG_DWORD_RELAXED(req->req_q_out); in qla24xx_start_scsi()
1506 if (req->ring_index < cnt) in qla24xx_start_scsi()
1507 req->cnt = cnt - req->ring_index; in qla24xx_start_scsi()
1509 req->cnt = req->length - in qla24xx_start_scsi()
1510 (req->ring_index - cnt); in qla24xx_start_scsi()
1511 if (req->cnt < (req_cnt + 2)) in qla24xx_start_scsi()
1516 req->current_outstanding_cmd = handle; in qla24xx_start_scsi()
1517 req->outstanding_cmds[handle] = sp; in qla24xx_start_scsi()
1520 req->cnt -= req_cnt; in qla24xx_start_scsi()
1522 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla24xx_start_scsi()
1523 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_start_scsi()
1558 req->ring_index++; in qla24xx_start_scsi()
1559 if (req->ring_index == req->length) { in qla24xx_start_scsi()
1560 req->ring_index = 0; in qla24xx_start_scsi()
1561 req->ring_ptr = req->ring; in qla24xx_start_scsi()
1563 req->ring_ptr++; in qla24xx_start_scsi()
1568 WRT_REG_DWORD(req->req_q_in, req->ring_index); in qla24xx_start_scsi()
1607 struct req_que *req = NULL; in qla24xx_dif_start_scsi() local
1626 req = vha->req; in qla24xx_dif_start_scsi()
1633 if (qla2x00_marker(vha, req, rsp, 0, 0, MK_SYNC_ALL) != in qla24xx_dif_start_scsi()
1643 handle = req->current_outstanding_cmd; in qla24xx_dif_start_scsi()
1644 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla24xx_dif_start_scsi()
1646 if (handle == req->num_outstanding_cmds) in qla24xx_dif_start_scsi()
1648 if (!req->outstanding_cmds[handle]) in qla24xx_dif_start_scsi()
1652 if (index == req->num_outstanding_cmds) in qla24xx_dif_start_scsi()
1707 if (req->cnt < (req_cnt + 2)) { in qla24xx_dif_start_scsi()
1708 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla24xx_dif_start_scsi()
1709 RD_REG_DWORD_RELAXED(req->req_q_out); in qla24xx_dif_start_scsi()
1710 if (req->ring_index < cnt) in qla24xx_dif_start_scsi()
1711 req->cnt = cnt - req->ring_index; in qla24xx_dif_start_scsi()
1713 req->cnt = req->length - in qla24xx_dif_start_scsi()
1714 (req->ring_index - cnt); in qla24xx_dif_start_scsi()
1715 if (req->cnt < (req_cnt + 2)) in qla24xx_dif_start_scsi()
1722 req->current_outstanding_cmd = handle; in qla24xx_dif_start_scsi()
1723 req->outstanding_cmds[handle] = sp; in qla24xx_dif_start_scsi()
1726 req->cnt -= req_cnt; in qla24xx_dif_start_scsi()
1729 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla24xx_dif_start_scsi()
1730 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_dif_start_scsi()
1749 req->ring_ptr, tot_dsds, tot_prot_dsds, fw_prot_opts) != in qla24xx_dif_start_scsi()
1760 req->ring_index++; in qla24xx_dif_start_scsi()
1761 if (req->ring_index == req->length) { in qla24xx_dif_start_scsi()
1762 req->ring_index = 0; in qla24xx_dif_start_scsi()
1763 req->ring_ptr = req->ring; in qla24xx_dif_start_scsi()
1765 req->ring_ptr++; in qla24xx_dif_start_scsi()
1768 WRT_REG_DWORD(req->req_q_in, req->ring_index); in qla24xx_dif_start_scsi()
1782 req->outstanding_cmds[handle] = NULL; in qla24xx_dif_start_scsi()
1783 req->cnt += req_cnt; in qla24xx_dif_start_scsi()
1821 struct req_que *req = ha->req_q_map[0]; in qla2x00_alloc_iocbs() local
1822 device_reg_t __iomem *reg = ISP_QUE_REG(ha, req->id); in qla2x00_alloc_iocbs()
1835 handle = req->current_outstanding_cmd; in qla2x00_alloc_iocbs()
1836 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla2x00_alloc_iocbs()
1838 if (handle == req->num_outstanding_cmds) in qla2x00_alloc_iocbs()
1840 if (!req->outstanding_cmds[handle]) in qla2x00_alloc_iocbs()
1843 if (index == req->num_outstanding_cmds) { in qla2x00_alloc_iocbs()
1850 req->current_outstanding_cmd = handle; in qla2x00_alloc_iocbs()
1851 req->outstanding_cmds[handle] = sp; in qla2x00_alloc_iocbs()
1860 if (req->cnt < req_cnt + 2) { in qla2x00_alloc_iocbs()
1873 if (req->ring_index < cnt) in qla2x00_alloc_iocbs()
1874 req->cnt = cnt - req->ring_index; in qla2x00_alloc_iocbs()
1876 req->cnt = req->length - in qla2x00_alloc_iocbs()
1877 (req->ring_index - cnt); in qla2x00_alloc_iocbs()
1879 if (req->cnt < req_cnt + 2) in qla2x00_alloc_iocbs()
1883 req->cnt -= req_cnt; in qla2x00_alloc_iocbs()
1884 pkt = req->ring_ptr; in qla2x00_alloc_iocbs()
2013 struct req_que *req = vha->req; in qla24xx_tm_iocb() local
2020 tsk->handle = MAKE_HANDLE(req->id, tsk->handle); in qla24xx_tm_iocb()
2259 struct req_que *req = NULL; in qla82xx_start_scsi() local
2266 req = vha->req; in qla82xx_start_scsi()
2276 if (qla2x00_marker(vha, req, in qla82xx_start_scsi()
2289 handle = req->current_outstanding_cmd; in qla82xx_start_scsi()
2290 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla82xx_start_scsi()
2292 if (handle == req->num_outstanding_cmds) in qla82xx_start_scsi()
2294 if (!req->outstanding_cmds[handle]) in qla82xx_start_scsi()
2297 if (index == req->num_outstanding_cmds) in qla82xx_start_scsi()
2356 if (req->cnt < (req_cnt + 2)) { in qla82xx_start_scsi()
2359 if (req->ring_index < cnt) in qla82xx_start_scsi()
2360 req->cnt = cnt - req->ring_index; in qla82xx_start_scsi()
2362 req->cnt = req->length - in qla82xx_start_scsi()
2363 (req->ring_index - cnt); in qla82xx_start_scsi()
2364 if (req->cnt < (req_cnt + 2)) in qla82xx_start_scsi()
2406 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr; in qla82xx_start_scsi()
2407 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
2467 if (req->cnt < (req_cnt + 2)) { in qla82xx_start_scsi()
2470 if (req->ring_index < cnt) in qla82xx_start_scsi()
2471 req->cnt = cnt - req->ring_index; in qla82xx_start_scsi()
2473 req->cnt = req->length - in qla82xx_start_scsi()
2474 (req->ring_index - cnt); in qla82xx_start_scsi()
2476 if (req->cnt < (req_cnt + 2)) in qla82xx_start_scsi()
2479 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla82xx_start_scsi()
2480 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
2521 req->current_outstanding_cmd = handle; in qla82xx_start_scsi()
2522 req->outstanding_cmds[handle] = sp; in qla82xx_start_scsi()
2525 req->cnt -= req_cnt; in qla82xx_start_scsi()
2529 req->ring_index++; in qla82xx_start_scsi()
2530 if (req->ring_index == req->length) { in qla82xx_start_scsi()
2531 req->ring_index = 0; in qla82xx_start_scsi()
2532 req->ring_ptr = req->ring; in qla82xx_start_scsi()
2534 req->ring_ptr++; in qla82xx_start_scsi()
2540 dbval = dbval | (req->id << 8) | (req->ring_index << 16); in qla82xx_start_scsi()
2584 struct req_que *req = vha->req; in qla24xx_abort_iocb() local
2589 abt_iocb->handle = cpu_to_le32(MAKE_HANDLE(req->id, sp->handle)); in qla24xx_abort_iocb()
2592 cpu_to_le32(MAKE_HANDLE(req->id, aio->u.abt.cmd_hndl)); in qla24xx_abort_iocb()
2597 abt_iocb->req_que_no = cpu_to_le16(req->id); in qla24xx_abort_iocb()
2726 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla25xx_build_bidir_iocb()
2752 cont_pkt = qla2x00_prep_cont_type1_iocb(vha, vha->req); in qla25xx_build_bidir_iocb()
2780 struct req_que *req; in qla2x00_start_bidir() local
2786 req = vha->req; in qla2x00_start_bidir()
2790 if (qla2x00_marker(vha, req, in qla2x00_start_bidir()
2800 handle = req->current_outstanding_cmd; in qla2x00_start_bidir()
2801 for (index = 1; index < req->num_outstanding_cmds; index++) { in qla2x00_start_bidir()
2803 if (handle == req->num_outstanding_cmds) in qla2x00_start_bidir()
2805 if (!req->outstanding_cmds[handle]) in qla2x00_start_bidir()
2809 if (index == req->num_outstanding_cmds) { in qla2x00_start_bidir()
2818 if (req->cnt < req_cnt + 2) { in qla2x00_start_bidir()
2819 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla2x00_start_bidir()
2820 RD_REG_DWORD_RELAXED(req->req_q_out); in qla2x00_start_bidir()
2821 if (req->ring_index < cnt) in qla2x00_start_bidir()
2822 req->cnt = cnt - req->ring_index; in qla2x00_start_bidir()
2824 req->cnt = req->length - in qla2x00_start_bidir()
2825 (req->ring_index - cnt); in qla2x00_start_bidir()
2827 if (req->cnt < req_cnt + 2) { in qla2x00_start_bidir()
2832 cmd_pkt = (struct cmd_bidir *)req->ring_ptr; in qla2x00_start_bidir()
2833 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2x00_start_bidir()
2849 req->current_outstanding_cmd = handle; in qla2x00_start_bidir()
2850 req->outstanding_cmds[handle] = sp; in qla2x00_start_bidir()
2852 req->cnt -= req_cnt; in qla2x00_start_bidir()
2856 qla2x00_start_iocbs(vha, req); in qla2x00_start_bidir()