summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2010-11-30 20:54:14 +0000
committermarius <marius@FreeBSD.org>2010-11-30 20:54:14 +0000
commit768c79cd77507ac85776ce9d84567c35df4ca8a2 (patch)
tree56c800f3002228312b5f3bfdb96ae407d2ec04e2
parent2864fd3ea87395a9c7f1b745c8a865cc28158bc7 (diff)
downloadFreeBSD-src-768c79cd77507ac85776ce9d84567c35df4ca8a2.zip
FreeBSD-src-768c79cd77507ac85776ce9d84567c35df4ca8a2.tar.gz
Several chipset drivers alter parameters relevant for the DMA tag creation,
i.e. alignment, max_address, max_iosize and segsize (only max_address is thought to have an negative impact regarding this issue though), after calling ata_dmainit() either directly or indirectly so these values have no effect or at least no effect on the DMA tags and the defaults are used for the latter instead. So change the drivers to set these parameters up-front and ata_dmainit() to honor them. This file was missed in r216013. Submitted by: nwhitehorn
-rw-r--r--sys/powerpc/powermac/ata_dbdma.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/powerpc/powermac/ata_dbdma.c b/sys/powerpc/powermac/ata_dbdma.c
index c8f3758..23434c8 100644
--- a/sys/powerpc/powermac/ata_dbdma.c
+++ b/sys/powerpc/powermac/ata_dbdma.c
@@ -268,7 +268,6 @@ ata_dbdma_dmainit(device_t dev)
dbdma_insert_stop(sc->dbdma,0);
sc->next_dma_slot=1;
- ata_dmainit(dev);
sc->sc_ch.dma.start = ata_dbdma_start;
sc->sc_ch.dma.stop = ata_dbdma_stop;
sc->sc_ch.dma.load = ata_dbdma_load;
@@ -279,9 +278,9 @@ ata_dbdma_dmainit(device_t dev)
* if we try to do a 64K transfer, so stop short of 64K.
*/
sc->sc_ch.dma.segsize = 126 * DEV_BSIZE;
+ ata_dmainit(dev);
sc->sc_ch.hw.status = ata_dbdma_status;
mtx_init(&sc->dbdma_mtx, "ATA DBDMA", NULL, MTX_DEF);
}
-
OpenPOWER on IntegriCloud