Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Dec 2009 22:16:42 -0500
From:      Tom Uffner <tom@uffner.com>
To:        Alexander Motin <mav@freebsd.org>
Cc:        FreeBSD-Current <freebsd-current@freebsd.org>
Subject:   Re: Testing CAM wrapper for ata(4) controller drivers
Message-ID:  <4B25AE1A.80206@uffner.com>
In-Reply-To: <4B1671EE.1010301@FreeBSD.org>
References:  <4B1671EE.1010301@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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: <Promise PDC20771 SATA300 controller> 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



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