summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/atapi-cd.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2001-02-06 16:44:25 +0000
committersos <sos@FreeBSD.org>2001-02-06 16:44:25 +0000
commit4793d374a0033084a4f9740552e348cfc927d67d (patch)
tree8bc04e5eb148942dcd6b0b92a9d6c20c296a27c1 /sys/dev/ata/atapi-cd.c
parent68da07f7352180f928c486026cdadea9fb3f4254 (diff)
downloadFreeBSD-src-4793d374a0033084a4f9740552e348cfc927d67d.zip
FreeBSD-src-4793d374a0033084a4f9740552e348cfc927d67d.tar.gz
Introduce busspace instead of the good old in/out instructions.
Not pretty but it works (I hope)...
Diffstat (limited to 'sys/dev/ata/atapi-cd.c')
-rw-r--r--sys/dev/ata/atapi-cd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c
index bc87760..19db00a 100644
--- a/sys/dev/ata/atapi-cd.c
+++ b/sys/dev/ata/atapi-cd.c
@@ -1208,7 +1208,8 @@ acd_start(struct atapi_softc *atp)
devstat_start_transaction(cdp->stats);
atapi_queue_cmd(cdp->atp, ccb, bp->bio_data, count * blocksize,
- bp->bio_cmd == BIO_READ ? ATPR_F_READ : 0, 30, acd_done,bp);
+ bp->bio_cmd == BIO_READ ? ATPR_F_READ : 0,
+ (ccb[0] == ATAPI_WRITE_BIG) ? 60 : 30, acd_done, bp);
}
static int
@@ -1533,6 +1534,7 @@ acd_get_progress(struct acd_softc *cdp, int *finished)
error = atapi_queue_cmd(cdp->atp, ccb, (caddr_t)&sense, sizeof(sense),
ATPR_F_READ, 10, NULL, NULL);
+
*finished = ((sense.sk_specific2|(sense.sk_specific1<<8))*100)/65535;
return error;
}
OpenPOWER on IntegriCloud