summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-dma.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2003-11-28 19:01:28 +0000
committersos <sos@FreeBSD.org>2003-11-28 19:01:28 +0000
commit9bcba46103bb735c3d96d29b2f58c40d3ffeeccb (patch)
tree3b4a8f6b8ab04b09777278a31796f9447ffa82dd /sys/dev/ata/ata-dma.c
parent73c251c926015bb7a04ec55aacdabd690f0873b6 (diff)
downloadFreeBSD-src-9bcba46103bb735c3d96d29b2f58c40d3ffeeccb.zip
FreeBSD-src-9bcba46103bb735c3d96d29b2f58c40d3ffeeccb.tar.gz
Workaround for errata on early versions of the sii3112.
Approved by: re@
Diffstat (limited to 'sys/dev/ata/ata-dma.c')
-rw-r--r--sys/dev/ata/ata-dma.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/ata/ata-dma.c b/sys/dev/ata/ata-dma.c
index a052f08..1637f20 100644
--- a/sys/dev/ata/ata-dma.c
+++ b/sys/dev/ata/ata-dma.c
@@ -74,7 +74,8 @@ ata_dmainit(struct ata_channel *ch)
ch->dma->load = ata_dmaload;
ch->dma->unload = ata_dmaunload;
ch->dma->alignment = 2;
- ch->dma->max_iosize = 64*1024;
+ ch->dma->max_iosize = 64 * 1024;
+ ch->dma->boundary = 64 * 1024;
}
}
@@ -106,9 +107,10 @@ ata_dmaalloc(struct ata_channel *ch)
BUS_DMA_ALLOCNOW, NULL, NULL, &ch->dma->cdmatag))
goto error;
- if (bus_dma_tag_create(ch->dma->dmatag, ch->dma->alignment, 64*1024,
+ if (bus_dma_tag_create(ch->dma->dmatag,ch->dma->alignment,ch->dma->boundary,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
- NULL, NULL, MAXPHYS, ATA_DMA_ENTRIES, MAXSEGSZ,
+ NULL, NULL, ch->dma->max_iosize,
+ ATA_DMA_ENTRIES, ch->dma->boundary,
BUS_DMA_ALLOCNOW, NULL, NULL, &ch->dma->ddmatag))
goto error;
OpenPOWER on IntegriCloud