Lines Matching refs:request

219     struct pst_request *request;  in pst_start()  local
228 if (!(request = malloc(sizeof(struct pst_request), in pst_start()
231 biofinish(request->bp, NULL, ENOMEM); in pst_start()
235 callout_init_mtx(&request->timeout, &psc->iop->mtx, 0); in pst_start()
237 request->psc = psc; in pst_start()
238 request->mfa = mfa; in pst_start()
239 request->bp = bp; in pst_start()
240 if ((error = pst_rw(request)) != 0) { in pst_start()
241 biofinish(request->bp, NULL, error); in pst_start()
242 iop_free_mfa(request->psc->iop, request->mfa); in pst_start()
244 free(request, M_PSTRAID); in pst_start()
253 struct pst_request *request = in pst_done() local
255 struct pst_softc *psc = request->psc; in pst_done()
257 callout_stop(&request->timeout); in pst_done()
258 request->bp->bio_resid = request->bp->bio_bcount - reply->donecount; in pst_done()
259 biofinish(request->bp, NULL, reply->status ? EIO : 0); in pst_done()
260 free(request, M_PSTRAID); in pst_done()
267 pst_rw(struct pst_request *request) in pst_rw() argument
273 (request->psc->iop->ibase + request->mfa); in pst_rw()
278 msg->target_address = request->psc->lct->local_tid; in pst_rw()
280 switch (request->bp->bio_cmd) { in pst_rw()
294 printf("pst: unknown command type 0x%02x\n", request->bp->bio_cmd); in pst_rw()
298 msg->transaction_context = (u_int32_t)request; in pst_rw()
300 msg->bytecount = request->bp->bio_bcount; in pst_rw()
301 msg->lba = ((u_int64_t)request->bp->bio_pblkno) * (DEV_BSIZE * 1LL); in pst_rw()
303 if (!iop_create_sgl((struct i2o_basic_message *)msg, request->bp->bio_data, in pst_rw()
304 request->bp->bio_bcount, sgl_flag)) in pst_rw()
307 request->psc->iop->reg->iqueue = request->mfa; in pst_rw()
310 callout_reset(&request->timeout, 10 * hz, pst_timeout, request); in pst_rw()
317 struct pst_request *request; in pst_timeout() local
320 request = arg; in pst_timeout()
322 request->mfa, request->bp->bio_cmd); in pst_timeout()
323 mtx_assert(&request->psc->iop->mtx, MA_OWNED); in pst_timeout()
324 iop_free_mfa(request->psc->iop, request->mfa); in pst_timeout()
325 if ((request->mfa = iop_get_mfa(request->psc->iop)) == 0xffffffff) { in pst_timeout()
327 biofinish(request->bp, NULL, EIO); in pst_timeout()
328 request->psc->iop->outstanding--; in pst_timeout()
331 if ((error = pst_rw(request)) != 0) { in pst_timeout()
332 iop_free_mfa(request->psc->iop, request->mfa); in pst_timeout()
333 biofinish(request->bp, NULL, error); in pst_timeout()
334 request->psc->iop->outstanding--; in pst_timeout()