diff options
author | Alexander Yurchenko <grange@cvs.openbsd.org> | 2003-07-23 22:07:16 +0000 |
---|---|---|
committer | Alexander Yurchenko <grange@cvs.openbsd.org> | 2003-07-23 22:07:16 +0000 |
commit | c828fcd5606221baa4bcf2cda327d01774e99bb3 (patch) | |
tree | 39ed56e5cdffc1a6159671b70ab244cf3f011380 /sys/dev/ata | |
parent | 26663ca3acb8e283d5dd460ed33ff13d743223ee (diff) |
Old Promise ATA controllers need some additional operations
during DMA transfers to work correctly with LBA48 drives.
Based on diff from Takeshi Nakayama <tn@catvmics.ne.jp> for NetBSD
with some corrections from FreeBSD ATA driver.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r-- | sys/dev/ata/ata_wdc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ata/ata_wdc.c b/sys/dev/ata/ata_wdc.c index 88a8455c879..623676d97c4 100644 --- a/sys/dev/ata/ata_wdc.c +++ b/sys/dev/ata/ata_wdc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ata_wdc.c,v 1.20 2003/02/21 20:10:33 grange Exp $ */ +/* $OpenBSD: ata_wdc.c,v 1.21 2003/07/23 22:07:15 grange Exp $ */ /* $NetBSD: ata_wdc.c,v 1.21 1999/08/09 09:43:11 bouyer Exp $ */ /* @@ -222,6 +222,8 @@ _wdc_ata_bio_start(chp, xfer) if (drvp->n_xfers <= NXFER) drvp->n_xfers++; dma_flags = (ata_bio->flags & ATA_READ) ? WDC_DMA_READ : 0; + if (ata_bio->flags & ATA_LBA48) + dma_flags |= WDC_DMA_LBA48; } if (ata_bio->flags & ATA_SINGLE) ata_delay = ATA_DELAY; |