Lines Matching refs:rqi

88 	struct snic_req_info *rqi = NULL;
94 rqi = req_to_rqi(req);
96 if (list_empty(&rqi->list)) {
101 SNIC_BUG_ON(rqi->list.next == NULL); /* if not added to spl_cmd_list */
102 list_del_init(&rqi->list);
105 if (rqi->sge_va) {
106 snic_pci_unmap_rsp_buf(snic, rqi);
107 kfree((void *)rqi->sge_va);
108 rqi->sge_va = 0;
110 snic_req_free(snic, rqi);
204 snic_handle_untagged_req(struct snic *snic, struct snic_req_info *rqi)
208 INIT_LIST_HEAD(&rqi->list);
211 list_add_tail(&rqi->list, &snic->spl_cmd_list);
223 struct snic_req_info *rqi = NULL;
228 rqi = mempool_alloc(snic->req_pool[typ], GFP_ATOMIC);
229 if (!rqi) {
234 return rqi;
237 memset(rqi, 0, sizeof(*rqi));
238 rqi->rq_pool_type = typ;
239 rqi->start_time = jiffies;
240 rqi->req = (struct snic_host_req *) (rqi + 1);
241 rqi->req_len = sizeof(struct snic_host_req);
242 rqi->snic = snic;
244 rqi->req = (struct snic_host_req *)(rqi + 1);
249 rqi->req_len += (sg_cnt * sizeof(struct snic_sg_desc));
258 memset(rqi->req, 0, rqi->req_len);
261 rqi->req->hdr.init_ctx = (ulong) rqi;
263 SNIC_SCSI_DBG(snic->shost, "Req_alloc:rqi = %p allocatd.\n", rqi);
265 return rqi;
272 snic_abort_req_init(struct snic *snic, struct snic_req_info *rqi)
276 SNIC_BUG_ON(!rqi);
279 if (rqi->abort_req)
280 return rqi->abort_req;
291 rqi->abort_req = req;
294 req->hdr.init_ctx = (ulong) rqi;
303 snic_dr_req_init(struct snic *snic, struct snic_req_info *rqi)
307 SNIC_BUG_ON(!rqi);
317 SNIC_BUG_ON(rqi->dr_req != NULL);
318 rqi->dr_req = req;
321 req->hdr.init_ctx = (ulong) rqi;
328 snic_req_free(struct snic *snic, struct snic_req_info *rqi)
330 SNIC_BUG_ON(rqi->req == rqi->abort_req);
331 SNIC_BUG_ON(rqi->req == rqi->dr_req);
332 SNIC_BUG_ON(rqi->sge_va != 0);
335 "Req_free:rqi %p:ioreq %p:abt %p:dr %p\n",
336 rqi, rqi->req, rqi->abort_req, rqi->dr_req);
338 if (rqi->abort_req) {
339 if (rqi->abort_req->req_pa)
341 rqi->abort_req->req_pa,
345 mempool_free(rqi->abort_req, snic->req_pool[SNIC_REQ_TM_CACHE]);
348 if (rqi->dr_req) {
349 if (rqi->dr_req->req_pa)
351 rqi->dr_req->req_pa,
355 mempool_free(rqi->dr_req, snic->req_pool[SNIC_REQ_TM_CACHE]);
358 if (rqi->req->req_pa)
360 rqi->req->req_pa,
361 rqi->req_len,
364 mempool_free(rqi, snic->req_pool[rqi->rq_pool_type]);
368 snic_pci_unmap_rsp_buf(struct snic *snic, struct snic_req_info *rqi)
372 sgd = req_to_sgl(rqi_to_req(rqi));
386 struct snic_req_info *rqi;
392 rqi = list_entry(cur, struct snic_req_info, list);
393 list_del_init(&rqi->list);
394 if (rqi->sge_va) {
395 snic_pci_unmap_rsp_buf(snic, rqi);
396 kfree((void *)rqi->sge_va);
397 rqi->sge_va = 0;
400 snic_req_free(snic, rqi);
409 snic_release_untagged_req(struct snic *snic, struct snic_req_info *rqi)
421 if (list_empty(&rqi->list)) {
425 list_del_init(&rqi->list);
427 snic_req_free(snic, rqi);
447 struct snic_req_info *rqi = NULL;
452 rqi = (struct snic_req_info *) fwreq->hdr.init_ctx;
454 rqi = (struct snic_req_info *) req->hdr.init_ctx;
456 SNIC_BUG_ON(rqi == NULL || rqi->req == NULL);
496 rqi->req->u.icmnd.cdb[0]);
547 snic_calc_io_process_time(struct snic *snic, struct snic_req_info *rqi)
551 duration = jiffies - rqi->start_time;