diff options
author | sos <sos@FreeBSD.org> | 2001-02-06 16:44:25 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2001-02-06 16:44:25 +0000 |
commit | 4793d374a0033084a4f9740552e348cfc927d67d (patch) | |
tree | 8bc04e5eb148942dcd6b0b92a9d6c20c296a27c1 /sys/dev/ata/atapi-cd.c | |
parent | 68da07f7352180f928c486026cdadea9fb3f4254 (diff) | |
download | FreeBSD-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.c | 4 |
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; } |