Lines Matching refs:request

214     struct pst_request *request;  in pst_start()  local
223 if (!(request = malloc(sizeof(struct pst_request), in pst_start()
226 biofinish(request->bp, NULL, ENOMEM); in pst_start()
230 callout_init_mtx(&request->timeout, &psc->iop->mtx, 0); in pst_start()
232 request->psc = psc; in pst_start()
233 request->mfa = mfa; in pst_start()
234 request->bp = bp; in pst_start()
235 if ((error = pst_rw(request)) != 0) { in pst_start()
236 biofinish(request->bp, NULL, error); in pst_start()
237 iop_free_mfa(request->psc->iop, request->mfa); in pst_start()
239 free(request, M_PSTRAID); in pst_start()
248 struct pst_request *request = in pst_done() local
250 struct pst_softc *psc = request->psc; in pst_done()
252 callout_stop(&request->timeout); in pst_done()
253 request->bp->bio_resid = request->bp->bio_bcount - reply->donecount; in pst_done()
254 biofinish(request->bp, NULL, reply->status ? EIO : 0); in pst_done()
255 free(request, M_PSTRAID); in pst_done()
262 pst_rw(struct pst_request *request) in pst_rw() argument
268 (request->psc->iop->ibase + request->mfa); in pst_rw()
273 msg->target_address = request->psc->lct->local_tid; in pst_rw()
275 switch (request->bp->bio_cmd) { in pst_rw()
289 printf("pst: unknown command type 0x%02x\n", request->bp->bio_cmd); in pst_rw()
293 msg->transaction_context = (u_int32_t)request; in pst_rw()
295 msg->bytecount = request->bp->bio_bcount; in pst_rw()
296 msg->lba = ((u_int64_t)request->bp->bio_pblkno) * (DEV_BSIZE * 1LL); in pst_rw()
298 if (!iop_create_sgl((struct i2o_basic_message *)msg, request->bp->bio_data, in pst_rw()
299 request->bp->bio_bcount, sgl_flag)) in pst_rw()
302 request->psc->iop->reg->iqueue = request->mfa; in pst_rw()
305 callout_reset(&request->timeout, 10 * hz, pst_timeout, request); in pst_rw()
312 struct pst_request *request; in pst_timeout() local
315 request = arg; in pst_timeout()
317 request->mfa, request->bp->bio_cmd); in pst_timeout()
318 mtx_assert(&request->psc->iop->mtx, MA_OWNED); in pst_timeout()
319 iop_free_mfa(request->psc->iop, request->mfa); in pst_timeout()
320 if ((request->mfa = iop_get_mfa(request->psc->iop)) == 0xffffffff) { in pst_timeout()
322 biofinish(request->bp, NULL, EIO); in pst_timeout()
323 request->psc->iop->outstanding--; in pst_timeout()
326 if ((error = pst_rw(request)) != 0) { in pst_timeout()
327 iop_free_mfa(request->psc->iop, request->mfa); in pst_timeout()
328 biofinish(request->bp, NULL, error); in pst_timeout()
329 request->psc->iop->outstanding--; in pst_timeout()