Lines Matching refs:q_req
192 zfcp_qdio_sbal_chain(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req)
197 sbale = zfcp_qdio_sbale_curr(qdio, q_req);
201 if (q_req->sbal_last == q_req->sbal_limit)
205 sbale = zfcp_qdio_sbale_req(qdio, q_req);
209 q_req->sbal_last++;
210 q_req->sbal_last %= QDIO_MAX_BUFFERS_PER_Q;
213 q_req->sbal_number++;
214 BUG_ON(q_req->sbal_number > ZFCP_QDIO_MAX_SBALS_PER_REQ);
217 q_req->sbale_curr = 0;
220 sbale = zfcp_qdio_sbale_curr(qdio, q_req);
221 sbale->sflags |= q_req->sbtype;
227 zfcp_qdio_sbale_next(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req)
229 if (q_req->sbale_curr == qdio->max_sbale_per_sbal - 1)
230 return zfcp_qdio_sbal_chain(qdio, q_req);
231 q_req->sbale_curr++;
232 return zfcp_qdio_sbale_curr(qdio, q_req);
238 * @q_req: pointer to struct zfcp_qdio_req
242 int zfcp_qdio_sbals_from_sg(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req,
248 sbale = zfcp_qdio_sbale_req(qdio, q_req);
249 sbale->sflags |= q_req->sbtype;
252 sbale = zfcp_qdio_sbale_next(qdio, q_req);
255 zfcp_qdio_zero_sbals(qdio->req_q, q_req->sbal_first,
256 q_req->sbal_number);
308 * @q_req: pointer to struct zfcp_qdio_req
311 int zfcp_qdio_send(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req)
314 u8 sbal_number = q_req->sbal_number;
330 q_req->sbal_first, sbal_number,
336 zfcp_qdio_zero_sbals(qdio->req_q, q_req->sbal_first,