Lines Matching refs:wq
143 static int free_wq_copy_descs(struct fnic *fnic, struct vnic_wq_copy *wq) in free_wq_copy_descs() argument
153 if (wq->to_clean_index <= fnic->fw_ack_index[0]) in free_wq_copy_descs()
154 wq->ring.desc_avail += (fnic->fw_ack_index[0] in free_wq_copy_descs()
155 - wq->to_clean_index + 1); in free_wq_copy_descs()
157 wq->ring.desc_avail += (wq->ring.desc_count in free_wq_copy_descs()
158 - wq->to_clean_index in free_wq_copy_descs()
166 wq->to_clean_index = in free_wq_copy_descs()
167 (fnic->fw_ack_index[0] + 1) % wq->ring.desc_count; in free_wq_copy_descs()
208 struct vnic_wq_copy *wq = &fnic->wq_copy[0]; in fnic_fw_reset_handler() local
224 if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) in fnic_fw_reset_handler()
225 free_wq_copy_descs(fnic, wq); in fnic_fw_reset_handler()
227 if (!vnic_wq_copy_desc_avail(wq)) in fnic_fw_reset_handler()
230 fnic_queue_wq_copy_desc_fw_reset(wq, SCSI_NO_TAG); in fnic_fw_reset_handler()
261 struct vnic_wq_copy *wq = &fnic->wq_copy[0]; in fnic_flogi_reg_handler() local
270 if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) in fnic_flogi_reg_handler()
271 free_wq_copy_descs(fnic, wq); in fnic_flogi_reg_handler()
273 if (!vnic_wq_copy_desc_avail(wq)) { in fnic_flogi_reg_handler()
287 fnic_queue_wq_copy_desc_fip_reg(wq, SCSI_NO_TAG, in fnic_flogi_reg_handler()
295 fnic_queue_wq_copy_desc_flogi_reg(wq, SCSI_NO_TAG, in fnic_flogi_reg_handler()
318 struct vnic_wq_copy *wq, in fnic_queue_wq_copy_desc() argument
361 if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) in fnic_queue_wq_copy_desc()
362 free_wq_copy_descs(fnic, wq); in fnic_queue_wq_copy_desc()
364 if (unlikely(!vnic_wq_copy_desc_avail(wq))) { in fnic_queue_wq_copy_desc()
383 fnic_queue_wq_copy_desc_icmnd_16(wq, sc->request->tag, in fnic_queue_wq_copy_desc()
420 struct vnic_wq_copy *wq; in fnic_queuecommand_lck() local
531 wq = &fnic->wq_copy[0]; in fnic_queuecommand_lck()
532 ret = fnic_queue_wq_copy_desc(fnic, wq, io_req, sc, sg_count); in fnic_queuecommand_lck()
728 static inline int is_ack_index_in_range(struct vnic_wq_copy *wq, in is_ack_index_in_range() argument
731 if (wq->to_clean_index <= wq->to_use_index) { in is_ack_index_in_range()
733 if (request_out < wq->to_clean_index || in is_ack_index_in_range()
734 request_out >= wq->to_use_index) in is_ack_index_in_range()
738 if (request_out < wq->to_clean_index && in is_ack_index_in_range()
739 request_out >= wq->to_use_index) in is_ack_index_in_range()
757 struct vnic_wq_copy *wq; in fnic_fcpio_ack_handler() local
763 wq = &fnic->wq_copy[cq_index - fnic->raw_wq_count - fnic->rq_count]; in fnic_fcpio_ack_handler()
767 if (is_ack_index_in_range(wq, request_out)) { in fnic_fcpio_ack_handler()
1361 void fnic_wq_copy_cleanup_handler(struct vnic_wq_copy *wq, in fnic_wq_copy_cleanup_handler() argument
1365 struct fnic *fnic = vnic_dev_priv(wq->vdev); in fnic_wq_copy_cleanup_handler()
1426 struct vnic_wq_copy *wq = &fnic->wq_copy[0]; in fnic_queue_abort_io_req() local
1442 if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) in fnic_queue_abort_io_req()
1443 free_wq_copy_descs(fnic, wq); in fnic_queue_abort_io_req()
1445 if (!vnic_wq_copy_desc_avail(wq)) { in fnic_queue_abort_io_req()
1453 fnic_queue_wq_copy_desc_itmf(wq, tag | FNIC_TAG_ABORT, in fnic_queue_abort_io_req()
1949 struct vnic_wq_copy *wq = &fnic->wq_copy[0]; in fnic_queue_dr_io_req() local
1967 if (vnic_wq_copy_desc_avail(wq) <= fnic->wq_copy_desc_low[0]) in fnic_queue_dr_io_req()
1968 free_wq_copy_descs(fnic, wq); in fnic_queue_dr_io_req()
1970 if (!vnic_wq_copy_desc_avail(wq)) { in fnic_queue_dr_io_req()
1981 fnic_queue_wq_copy_desc_itmf(wq, sc->request->tag | FNIC_TAG_DEV_RST, in fnic_queue_dr_io_req()