Lines Matching refs:ir

85 	struct fw_xferq *ir;
163 if (d->ir != NULL) {
164 struct fw_xferq *ir = d->ir;
166 if ((ir->flag & FWXFERQ_OPEN) == 0)
168 if (ir->flag & FWXFERQ_RUNNING) {
169 ir->flag &= ~FWXFERQ_RUNNING;
170 fc->irx_disable(fc, ir->dmach);
173 fwdev_freebuf(ir);
175 for (xfer = STAILQ_FIRST(&ir->q); xfer != NULL;
176 xfer = STAILQ_FIRST(&ir->q)) {
177 ir->queued--;
178 STAILQ_REMOVE_HEAD(&ir->q, link);
183 ir->flag &=
185 d->ir = NULL;
215 struct fw_xferq *ir;
228 ir = d->ir;
230 if (ir == NULL)
233 if (ir->buf == NULL)
238 if (ir->stproc == NULL) {
240 ir->stproc = STAILQ_FIRST(&ir->stvalid);
241 if (ir->stproc != NULL) {
242 STAILQ_REMOVE_HEAD(&ir->stvalid, link);
243 ir->queued = 0;
246 if (ir->stproc == NULL) {
250 ir->flag |= FWXFERQ_WAKEUP;
252 err = tsleep(ir, FWPRI, "fw_read", hz);
254 ir->flag &= ~FWXFERQ_WAKEUP;
261 } else if (ir->stproc != NULL) {
264 fp = (struct fw_pkt *)fwdma_v_addr(ir->buf,
265 ir->stproc->poffset + ir->queued);
272 ir->queued++;
273 if (ir->queued >= ir->bnpacket) {
274 STAILQ_INSERT_TAIL(&ir->stfree, ir->stproc, link);
275 fc->irx_enable(fc, ir->dmach);
276 ir->stproc = NULL;
278 if (uio->uio_resid >= ir->psize) {
374 struct fw_xferq *ir, *it;
399 ir = d->ir;
432 if (ir == NULL) {
438 ir = fc->ir[i];
439 err = fwdev_allocbuf(fc, ir, &d->bufreq.rx);
441 ir->flag &= ~FWXFERQ_OPEN;
445 ir->flag &= ~0xff;
446 ir->flag |= (0x3f & ichreq->ch);
447 ir->flag |= ((0x3 & ichreq->tag) << 6);
448 d->ir = ir;
449 err = fc->irx_enable(fc, ir->dmach);
453 if (d->ir != NULL) {
454 ichreq->ch = ir->flag & 0x3f;
455 ichreq->tag = ir->flag >> 2 & 0x3;
466 if (ir != NULL) {
467 ibufreq->rx.nchunk = ir->bnchunk;
468 ibufreq->rx.npacket = ir->bnpacket;
469 ibufreq->rx.psize = ir->psize;
675 struct fw_xferq *ir;
682 ir = ((struct fw_drv1 *)sc->si_drv1)->ir;
686 if (STAILQ_FIRST(&ir->q) != NULL)
689 selrecord(td, &ir->rsel);