From owner-freebsd-current@FreeBSD.ORG Mon Dec 14 03:16:55 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FB1310656AA; Mon, 14 Dec 2009 03:16:55 +0000 (UTC) (envelope-from tom@uffner.com) Received: from eris.uffner.com (uffner.com [66.208.243.25]) by mx1.freebsd.org (Postfix) with ESMTP id 4C13E8FC14; Mon, 14 Dec 2009 03:16:54 +0000 (UTC) Received: from xiombarg.uffner.com (static-71-162-143-94.phlapa.fios.verizon.net [71.162.143.94]) (authenticated bits=0) by eris.uffner.com (8.14.3/8.14.3) with ESMTP id nBE3Iv2X099051 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sun, 13 Dec 2009 22:19:08 -0500 (EST) (envelope-from tom@uffner.com) Message-ID: <4B25AE1A.80206@uffner.com> Date: Sun, 13 Dec 2009 22:16:42 -0500 From: Tom Uffner User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.23) Gecko/20090925 SeaMonkey/1.1.18 MIME-Version: 1.0 To: Alexander Motin References: <4B1671EE.1010301@FreeBSD.org> In-Reply-To: <4B1671EE.1010301@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD-Current Subject: Re: Testing CAM wrapper for ata(4) controller drivers X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Dec 2009 03:16:55 -0000 Alexander Motin wrote: > Hi. > > I would like to present for testing patch, turning ata(4) controllers > drivers into native SIMs of new CAM ATA infrastructure. This patch adds > new ATA_CAM kernel option, which allows switching between legacy and new > CAM-based operation modes. To enable new mode you should add > options ATA_CAM > line to the kernel configuration file in addition to the ones required > by CAM infrastructure and rebuild/reinstall the kernel. > > In legacy mode, the only difference will be - the way in which SATA > speeds reported. Instead of mixing SATA revisions with PATA modes, they > were separated, as they should be, allowing, for example, DMA-incapable > or buggy SATA devices (usually PATA devices with built-in PATA/SATA > converter) to work in PIO mode. > > While doing it, I had to completely rewrite ata(4) mode setting code, so > legacy operation also need to be tested. I have successfully tested it > on Intel, NVidia, VIA, Marvell, JMicron PATA controllers with all > PIO/DMA modes. Different controllers feedbacks are especially welcome. this change breaks my Promise SATA card atapci0: port 0xdc00-0xdc7f,0xd800-0xd8ff mem 0xfeaff000-0xfeafffff,0xfeac0000-0xfeadffff irq 23 at device 11.0 on pci2 kernels from after the commit on 12/6 are unable to mount my drives. i get (from memory, since i can't even get to single user mode) WARNING - READ_DMA UDMA ICRC error followed by lots of SETFEATURE foo errors then a READ_DMA timeout followed by a bus reset and the cycle repeats... before this commit it worked fine. this is in the legacy mode. i am building a kernel with "options ATA_CAM" now tom