Searched refs:q_req (Results 1 - 3 of 3) sorted by relevance

/linux-4.4.14/drivers/s390/scsi/
H A Dzfcp_qdio.h78 zfcp_qdio_sbale_req(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_sbale_req() argument
80 return &qdio->req_q[q_req->sbal_last]->element[0]; zfcp_qdio_sbale_req()
90 zfcp_qdio_sbale_curr(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_sbale_curr() argument
92 return &qdio->req_q[q_req->sbal_last]->element[q_req->sbale_curr]; zfcp_qdio_sbale_curr()
98 * @q_req: the qdio request to start
109 void zfcp_qdio_req_init(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, zfcp_qdio_req_init() argument
116 q_req->sbal_first = q_req->sbal_last = qdio->req_q_idx; zfcp_qdio_req_init()
117 q_req->sbal_number = 1; zfcp_qdio_req_init()
118 q_req->sbtype = sbtype; zfcp_qdio_req_init()
119 q_req->sbale_curr = 1; zfcp_qdio_req_init()
120 q_req->sbal_limit = (q_req->sbal_first + count - 1) zfcp_qdio_req_init()
123 sbale = zfcp_qdio_sbale_req(qdio, q_req); zfcp_qdio_req_init()
138 * @q_req: pointer to struct zfcp_queue_req
144 void zfcp_qdio_fill_next(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, zfcp_qdio_fill_next() argument
149 BUG_ON(q_req->sbale_curr == qdio->max_sbale_per_sbal - 1); zfcp_qdio_fill_next()
150 q_req->sbale_curr++; zfcp_qdio_fill_next()
151 sbale = zfcp_qdio_sbale_curr(qdio, q_req); zfcp_qdio_fill_next()
159 * @q_req: pointer to struct zfcp_queue_req
163 struct zfcp_qdio_req *q_req) zfcp_qdio_set_sbale_last()
167 sbale = zfcp_qdio_sbale_curr(qdio, q_req); zfcp_qdio_set_sbale_last()
186 * @q_req: The current zfcp_qdio_req
190 struct zfcp_qdio_req *q_req) zfcp_qdio_skip_to_last_sbale()
192 q_req->sbale_curr = qdio->max_sbale_per_sbal - 1; zfcp_qdio_skip_to_last_sbale()
196 * zfcp_qdio_sbal_limit - set the sbal limit for a request in q_req
198 * @q_req: The current zfcp_qdio_req
203 struct zfcp_qdio_req *q_req, int max_sbals) zfcp_qdio_sbal_limit()
207 q_req->sbal_limit = (q_req->sbal_first + count - 1) % zfcp_qdio_sbal_limit()
214 * @q_req: The current zfcp_qdio_req
219 struct zfcp_qdio_req *q_req, u32 count) zfcp_qdio_set_data_div()
223 sbale = qdio->req_q[q_req->sbal_first]->element; zfcp_qdio_set_data_div()
260 * @q_req: The current zfcp_qdio_req
263 void zfcp_qdio_set_scount(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_set_scount() argument
267 sbale = qdio->req_q[q_req->sbal_first]->element; zfcp_qdio_set_scount()
268 sbale->scount = q_req->sbal_number - 1; zfcp_qdio_set_scount()
162 zfcp_qdio_set_sbale_last(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_set_sbale_last() argument
189 zfcp_qdio_skip_to_last_sbale(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_skip_to_last_sbale() argument
202 zfcp_qdio_sbal_limit(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, int max_sbals) zfcp_qdio_sbal_limit() argument
218 zfcp_qdio_set_data_div(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, u32 count) zfcp_qdio_set_data_div() argument
H A Dzfcp_qdio.c134 zfcp_qdio_sbal_chain(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_sbal_chain() argument
139 sbale = zfcp_qdio_sbale_curr(qdio, q_req); zfcp_qdio_sbal_chain()
143 if (q_req->sbal_last == q_req->sbal_limit) zfcp_qdio_sbal_chain()
147 sbale = zfcp_qdio_sbale_req(qdio, q_req); zfcp_qdio_sbal_chain()
151 q_req->sbal_last++; zfcp_qdio_sbal_chain()
152 q_req->sbal_last %= QDIO_MAX_BUFFERS_PER_Q; zfcp_qdio_sbal_chain()
155 q_req->sbal_number++; zfcp_qdio_sbal_chain()
156 BUG_ON(q_req->sbal_number > ZFCP_QDIO_MAX_SBALS_PER_REQ); zfcp_qdio_sbal_chain()
159 q_req->sbale_curr = 0; zfcp_qdio_sbal_chain()
162 sbale = zfcp_qdio_sbale_curr(qdio, q_req); zfcp_qdio_sbal_chain()
163 sbale->sflags |= q_req->sbtype; zfcp_qdio_sbal_chain()
169 zfcp_qdio_sbale_next(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_sbale_next() argument
171 if (q_req->sbale_curr == qdio->max_sbale_per_sbal - 1) zfcp_qdio_sbale_next()
172 return zfcp_qdio_sbal_chain(qdio, q_req); zfcp_qdio_sbale_next()
173 q_req->sbale_curr++; zfcp_qdio_sbale_next()
174 return zfcp_qdio_sbale_curr(qdio, q_req); zfcp_qdio_sbale_next()
180 * @q_req: pointer to struct zfcp_qdio_req
185 int zfcp_qdio_sbals_from_sg(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, zfcp_qdio_sbals_from_sg() argument
191 sbale = zfcp_qdio_sbale_req(qdio, q_req); zfcp_qdio_sbals_from_sg()
192 sbale->sflags |= q_req->sbtype; zfcp_qdio_sbals_from_sg()
195 sbale = zfcp_qdio_sbale_next(qdio, q_req); zfcp_qdio_sbals_from_sg()
198 zfcp_qdio_zero_sbals(qdio->req_q, q_req->sbal_first, zfcp_qdio_sbals_from_sg()
199 q_req->sbal_number); zfcp_qdio_sbals_from_sg()
251 * @q_req: pointer to struct zfcp_qdio_req
254 int zfcp_qdio_send(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req) zfcp_qdio_send() argument
257 u8 sbal_number = q_req->sbal_number; zfcp_qdio_send()
264 q_req->sbal_first, sbal_number); zfcp_qdio_send()
267 zfcp_qdio_zero_sbals(qdio->req_q, q_req->sbal_first, zfcp_qdio_send()
H A Dzfcp_fsf.c964 struct zfcp_qdio_req *q_req, zfcp_fsf_setup_ct_els_unchained()
968 zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_req), sg_req->length); zfcp_fsf_setup_ct_els_unchained()
969 zfcp_qdio_fill_next(qdio, q_req, sg_virt(sg_resp), sg_resp->length); zfcp_fsf_setup_ct_els_unchained()
970 zfcp_qdio_set_sbale_last(qdio, q_req); zfcp_fsf_setup_ct_els_unchained()
963 zfcp_fsf_setup_ct_els_unchained(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req, struct scatterlist *sg_req, struct scatterlist *sg_resp) zfcp_fsf_setup_ct_els_unchained() argument

Completed in 101 milliseconds