Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Apr 2010 15:29:32 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r206604 - head/sys/dev/ata/chipsets
Message-ID:  <201004141529.o3EFTWd9011506@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 }



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