svn commit: r206604 - head/sys/dev/ata/chipsets

Alexander Motin mav at FreeBSD.org
Wed Apr 14 15:29:32 UTC 2010


Author: mav
Date: Wed Apr 14 15:29:32 2010
New Revision: 206604
URL: http://svn.freebsd.org/changeset/base/206604

Log:
  For early ALI chips do not announce I/O sizes that require unsupported
  48bit DMA commands.

Modified:
  head/sys/dev/ata/chipsets/ata-acerlabs.c

Modified: head/sys/dev/ata/chipsets/ata-acerlabs.c
==============================================================================
--- head/sys/dev/ata/chipsets/ata-acerlabs.c	Wed Apr 14 15:23:16 2010	(r206603)
+++ head/sys/dev/ata/chipsets/ata-acerlabs.c	Wed Apr 14 15:29:32 2010	(r206604)
@@ -184,8 +184,11 @@ ata_ali_ch_attach(device_t dev)
     if (ctlr->chip->cfg2 & ALI_NEW && ctlr->chip->chiprev < 0xc7)
 	ch->flags |= ATA_CHECKS_CABLE;
     /* older chips can't do 48bit DMA transfers */
-    if (ctlr->chip->chiprev <= 0xc4)
+    if (ctlr->chip->chiprev <= 0xc4) {
 	ch->flags |= ATA_NO_48BIT_DMA;
+	if (ch->dma.max_iosize > 256 * 512)
+		ch->dma.max_iosize = 256 * 512;
+    }
 
     return 0;
 }


More information about the svn-src-all mailing list