From 9bcba46103bb735c3d96d29b2f58c40d3ffeeccb Mon Sep 17 00:00:00 2001 From: sos Date: Fri, 28 Nov 2003 19:01:28 +0000 Subject: Workaround for errata on early versions of the sii3112. Approved by: re@ --- sys/dev/ata/ata-dma.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'sys/dev/ata/ata-dma.c') 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; -- cgit v1.1