Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Dec 2009 19:34:44 GMT
From:      Alexander Motin <mav@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 171422 for review
Message-ID:  <200912051934.nB5JYiAo067894@repoman.freebsd.org>

index | next in thread | raw e-mail

http://p4web.freebsd.org/chv.cgi?CH=171422

Change 171422 by mav@mav_mavtest on 2009/12/05 19:34:27

	Allow all ata(4) supported controllers, except some specifically handled
	to use transfers up to MAXPHYS or 255 pages size. PCI ATA BM spec
	defines many restrictions on data, but there is no limit on total size.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-dma.c#17 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#19 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#14 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-dma.c#17 (text+ko) ====

@@ -76,7 +76,7 @@
     ch->dma.alignment = 2;
     ch->dma.boundary = 65536;
     ch->dma.segsize = 65536;
-    ch->dma.max_iosize = 128 * DEV_BSIZE;
+    ch->dma.max_iosize = MIN((ATA_DMA_ENTRIES - 1) * PAGE_SIZE, MAXPHYS);
     ch->dma.max_address = BUS_SPACE_MAXADDR_32BIT;
     ch->dma.dma_slots = 1;
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#19 (text+ko) ====

@@ -607,8 +607,6 @@
     /* chip does not reliably do 64K DMA transfers */
     if (ctlr->chip->cfg2 == MV_50XX || ctlr->chip->cfg2 == MV_60XX)
 	ch->dma.max_iosize = 64 * DEV_BSIZE;
-    else
-	ch->dma.max_iosize = (ATA_DMA_ENTRIES - 1) * PAGE_SIZE;
 }
 
 ATA_DECLARE_DRIVER(ata_marvell);

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#14 (text+ko) ====

@@ -321,7 +321,6 @@
 	ATA_OUTL(ctlr->r_res2, 0x148 + (unit01 << 7) + (unit10 << 8),(1 << 16));
     }
 
-    ch->dma.max_iosize = (ATA_DMA_ENTRIES - 1) * PAGE_SIZE;
     if (ctlr->chip->cfg2 & SII_BUG) {
 	/* work around errata in early chips */
 	ch->dma.boundary = 8192;


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912051934.nB5JYiAo067894>