diff options
author | marius <marius@FreeBSD.org> | 2010-11-30 20:54:14 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2010-11-30 20:54:14 +0000 |
commit | 768c79cd77507ac85776ce9d84567c35df4ca8a2 (patch) | |
tree | 56c800f3002228312b5f3bfdb96ae407d2ec04e2 | |
parent | 2864fd3ea87395a9c7f1b745c8a865cc28158bc7 (diff) | |
download | FreeBSD-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.c | 3 |
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); } - |