diff options
author | Søren Schmidt <sos@FreeBSD.org> | 2003-01-19 20:18:07 +0000 |
---|---|---|
committer | Søren Schmidt <sos@FreeBSD.org> | 2003-01-19 20:18:07 +0000 |
commit | 7fc7425df3494f2df9c3a3ecc96e7b7373f452e7 (patch) | |
tree | 92dacc41eaa62ba09d157864f94fc9376d015999 | |
parent | 9142ac5760d48305bcf5cc01a120f2451b576894 (diff) | |
download | src-7fc7425df3494f2df9c3a3ecc96e7b7373f452e7.tar.gz src-7fc7425df3494f2df9c3a3ecc96e7b7373f452e7.zip |
Small change to the previous commit, zero out the 48BIT flag in ata_command
instead of in dmadone.
Notes
Notes:
svn path=/head/; revision=109539
-rw-r--r-- | sys/dev/ata/ata-all.c | 1 | ||||
-rw-r--r-- | sys/dev/ata/ata-dma.c | 19 |
2 files changed, 10 insertions, 10 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index 91b8bb95cc31..83515ab92fca 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -1119,6 +1119,7 @@ ata_command(struct ata_device *atadev, u_int8_t command, else ATA_OUTB(atadev->channel->r_io, ATA_DRIVE, ATA_D_IBM | ATA_D_LBA | atadev->unit | ((lba>>24) &0xf)); + atadev->channel->flags &= ~ATA_48BIT_ACTIVE; } switch (flags & ATA_WAIT_MASK) { diff --git a/sys/dev/ata/ata-dma.c b/sys/dev/ata/ata-dma.c index d5a3fc59430a..c6ab3a5c0d91 100644 --- a/sys/dev/ata/ata-dma.c +++ b/sys/dev/ata/ata-dma.c @@ -1534,11 +1534,11 @@ ata_dmastart(struct ata_device *atadev, caddr_t data, int32_t count, int dir) case 0x0d30105a: /* Promise OEM ATA 100 */ case 0x4d30105a: /* Promise Ultra/Fasttrak 100 */ if (ch->flags & ATA_48BIT_ACTIVE) { - ATA_OUTB(ch->r_bmio, (ch->unit ? 0x09 : 0x11), - ATA_INB(ch->r_bmio, (ch->unit ? 0x09 : 0x11)) | - (ch->unit ? 0x08 : 0x02)); - ATA_OUTL(ch->r_bmio, (ch->unit ? 0x1c : 0x20), - (dir ? 0x05000000 : 0x06000000) | (count >> 1)); + ATA_OUTB(ch->r_bmio, (ch->unit ? 0x09 : 0x11), + ATA_INB(ch->r_bmio, (ch->unit ? 0x09 : 0x11)) | + (ch->unit ? 0x08 : 0x02)); + ATA_OUTL(ch->r_bmio, (ch->unit ? 0x1c : 0x20), + (dir ? 0x05000000 : 0x06000000) | (count >> 1)); } } @@ -1578,11 +1578,10 @@ ata_dmadone(struct ata_device *atadev) case 0x0d30105a: /* Promise OEM ATA 100 */ case 0x4d30105a: /* Promise Ultra/Fasttrak 100 */ if (ch->flags & ATA_48BIT_ACTIVE) { - ATA_OUTB(ch->r_bmio, (ch->unit ? 0x09 : 0x11), - ATA_INB(ch->r_bmio, (ch->unit ? 0x09 : 0x11)) & - ~(ch->unit ? 0x08 : 0x02)); - ATA_OUTL(ch->r_bmio, (ch->unit ? 0x1c : 0x20), 0); - ch->flags &= ~ATA_48BIT_ACTIVE; + ATA_OUTB(ch->r_bmio, (ch->unit ? 0x09 : 0x11), + ATA_INB(ch->r_bmio, (ch->unit ? 0x09 : 0x11)) & + ~(ch->unit ? 0x08 : 0x02)); + ATA_OUTL(ch->r_bmio, (ch->unit ? 0x1c : 0x20), 0); } } |