c_bio
if (xfer->c_bio.flags & ATA_FUA
*cmd = (xfer->c_bio.flags & ATA_READ) ?
if (xfer->c_bio.flags & ATA_PRIO_HIGH)
if (xfer->c_bio.flags & ATA_FUA)
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
return (xfer->c_bio.flags & ATA_ITSDONE) ? ATAPOLL_DONE : ATAPOLL_AGAIN;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio c_bio; /* ATA transfer */
#define c_bio u.c_bio
struct ata_bio *ata_bio = &xfer->c_bio;
xfer->c_bio.error = REQUEUE;
noerror: if ((xfer->c_bio.flags & ATA_CORR) || xfer->c_retries > 0)
wdstart1(wd, xfer->c_bio.bp, xfer);
wdstart1(wd, xfer->c_bio.bp, xfer);
int errno = xfer->c_bio.r_error;
xfer->c_bio.blkno = blkno;
xfer->c_bio.flags = ATA_POLL;
(xfer->c_bio.blkno + nblk) > wd->sc_capacity28)
xfer->c_bio.flags |= ATA_LBA48;
xfer->c_bio.flags |= ATA_LBA;
xfer->c_bio.bcount = nblk * dg->dg_secsize;
xfer->c_bio.databuf = va;
switch(err = xfer->c_bio.error) {
KASSERT(bp == xfer->c_bio.bp || xfer->c_bio.bp == NULL);
memset(&xfer->c_bio, 0, sizeof(xfer->c_bio));
xfer->c_bio.blkno = bp->b_rawblkno;
xfer->c_bio.bcount = bp->b_bcount;
xfer->c_bio.databuf = bp->b_data;
xfer->c_bio.blkdone = 0;
xfer->c_bio.bp = bp;
KASSERT(xfer->c_skip < xfer->c_bio.bcount);
xfer->c_bio.bcount -= xfer->c_skip;
xfer->c_bio.blkno += xfer->c_skip / secsize;
xfer->c_bio.blkno = 7777777 + wd->sc_capacity;
xfer->c_bio.flags = ATA_SINGLE;
xfer->c_bio.flags = 0;
(((xfer->c_bio.blkno + xfer->c_bio.bcount / secsize) >
((xfer->c_bio.bcount / secsize) > 128)))
xfer->c_bio.flags |= ATA_LBA48;
xfer->c_bio.flags |= ATA_LBA48;
xfer->c_bio.flags |= ATA_PRIO_HIGH;
xfer->c_bio.flags |= ATA_LBA;
xfer->c_bio.flags |= ATA_READ;
xfer->c_bio.flags |= ATA_LBA48;
xfer->c_bio.flags |= ATA_FUA;
bp = xfer->c_bio.bp;
bp->b_resid = xfer->c_bio.bcount;
switch (xfer->c_bio.error) {
if (xfer->c_bio.r_error != 0 &&
(xfer->c_bio.r_error & ~(WDCE_MC | WDCE_MCR)) == 0)
xfer->c_bio.blkdone, dksc->sc_dkdev.dk_label);
if (xfer->c_bio.error == REQUEUE) {
((wd->drvp->ata_vers >= 4 && xfer->c_bio.r_error & 64) ||
(wd->drvp->ata_vers < 4 && xfer->c_bio.r_error & 192))) {
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
if (xfer->c_bio.flags & ATA_ITSDONE)
if ((xfer->c_bio.flags & ATA_ITSDONE) == 0) {
xfer->c_bio.error = TIMEOUT;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
return (xfer->c_bio.flags & ATA_ITSDONE) ? ATAPOLL_DONE : ATAPOLL_AGAIN;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
ata_bio = &xfer->c_bio;
mvsata_dma_bufunload(mvport, i, xfer->c_bio.flags);
struct ata_bio *ata_bio = &xfer->c_bio;
rw = (xfer->c_bio.flags & ATA_READ) ? CRQB_CDIR_READ : CRQB_CDIR_WRITE;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;
if (xfer->c_bio.flags & ATA_ITSDONE)
if ((xfer->c_bio.flags & ATA_ITSDONE) == 0) {
struct ata_bio *ata_bio = &xfer->c_bio;
struct ata_bio *ata_bio = &xfer->c_bio;