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>
