Lines Matching refs:uio
40 physio(struct cdev *dev, struct uio *uio, int ioflag) in physio() argument
70 (uio->uio_resid > dev->si_iosize_max || uio->uio_resid > maxphys || in physio()
71 uio->uio_iovcnt > 1)) { in physio()
75 if (uio->uio_resid > dev->si_iosize_max) in physio()
78 uio->uio_resid, dev->si_iosize_max); in physio()
79 if (uio->uio_resid > maxphys) in physio()
82 uio->uio_resid, maxphys); in physio()
83 if (uio->uio_iovcnt > 1) in physio()
86 uio->uio_iovcnt); in physio()
97 if (uio->uio_segflg != UIO_USERSPACE) { in physio()
102 maxpages = btoc(MIN(uio->uio_resid, maxphys)) + 1; in physio()
112 if (uio->uio_rw == UIO_READ) in physio()
115 for (i = 0; i < uio->uio_iovcnt; i++) { in physio()
119 switch (uio->uio_rw) { in physio()
122 uio->uio_iov[i].iov_len); in physio()
127 uio->uio_iov[i].iov_len); in physio()
135 while (uio->uio_iov[i].iov_len) { in physio()
137 switch (uio->uio_rw) { in physio()
147 bp->bio_offset = uio->uio_offset; in physio()
148 base = uio->uio_iov[i].iov_base; in physio()
149 bp->bio_length = uio->uio_iov[i].iov_len; in physio()
181 if (uio->uio_rw == UIO_READ) in physio()
195 uio->uio_iov[i].iov_len -= iolen; in physio()
196 uio->uio_iov[i].iov_base = in physio()
197 (char *)uio->uio_iov[i].iov_base + iolen; in physio()
198 uio->uio_resid -= iolen; in physio()
199 uio->uio_offset += iolen; in physio()