svn commit: r216083 - head/sys/powerpc/powermac

Marius Strobl marius at
Tue Nov 30 20:54:15 UTC 2010

Author: marius
Date: Tue Nov 30 20:54:14 2010
New Revision: 216083

  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


Modified: head/sys/powerpc/powermac/ata_dbdma.c
--- head/sys/powerpc/powermac/ata_dbdma.c	Tue Nov 30 17:34:15 2010	(r216082)
+++ head/sys/powerpc/powermac/ata_dbdma.c	Tue Nov 30 20:54:14 2010	(r216083)
@@ -268,7 +268,6 @@ ata_dbdma_dmainit(device_t dev)
-	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);

More information about the svn-src-all mailing list