Re: won't work: 2.6.0 && SiI 3112 SATA

From: Hugo Mills
Date: Tue Jan 06 2004 - 12:05:24 EST


On Tue, Jan 06, 2004 at 05:47:14PM +0100, Karel Kulhavý wrote:
> On Tue, Jan 06, 2004 at 01:25:33PM +0000, Hugo Mills wrote:
> > The AAR-1210SA has a BIOS which turns off interrupts unexpectedly.
> > Jeff Garzik released a patch[1] earlier today that addresses this
> > problem in the libata driver.
> >
> > Hugo.
> >
> > [1] http://marc.theaimsgroup.com/?l=linux-kernel&m=107338181210727&w=2
>
> Tried that patch however no remedy. Interesting is maybe the information the
> controller reports on hde. The patch includes something with interrupts
> of IDE0 and IDE1.
>
> Tried to "extrapolate" the stuff in sata_sil.c logically (sorry for not knowing
> what's going on here) with bitmasks 1<<25, 1<<26 and adding them to the few
> lines that reenable the interrupts, but this also didn't work.
>
> In fact, it doesn't even get into the workaround code at the moment the system
> freezes temporarily.
>
> I managed (after long wait) to get the system boot up and captured the
> dmesg:

[snip]
> ### THIS IS MY COMMENT Entering __devinit siimage_init_one
> Adaptec AAR-1210SA: IDE controller at PCI slot 0000:03:02.0
> PCI: Found IRQ 7 for device 0000:03:02.0
> PCI: Sharing IRQ 7 with 0000:00:1f.3
> Adaptec AAR-1210SA: chipset revision 2
> Adaptec AAR-1210SA: 100% native mode on irq 7
> ide2: MMIO-DMA at 0xf8848c00-0xf8848c07, BIOS settings: hde:pio, hdf:pio
> ide3: MMIO-DMA at 0xf8848c08-0xf8848c0f, BIOS settings: hdg:pio, hdh:pio
> hde: Maxtor 7Y250M0, ATA DISK drive
> ide2 at 0xf8848c80-0xf8848c87,0xf8848c8a on irq 7
> hdg: Maxtor 7Y250M0, ATA DISK drive
> ide3 at 0xf8848cc0-0xf8848cc7,0xf8848cca on irq 7
> hde: max request size: 7KiB
> ### Here the first freeze occurs
> hde: lost interrupt
> ### Another freeze
> hde: lost interrupt
> ### Another freeze... etc.
> hde: lost interrupt
> hde: 490234752 sectors (251000 MB) w/7936KiB Cache, CHS=30515/255/63
> hde: lost interrupt
> hde: lost interrupt
> /dev/ide/host2/bus0/target0/lun0:<4>hde: dma_timer_expiry: dma status == 0x24
> hde: DMA interrupt recovery
> hde: lost interrupt
[snip]

It looks like you're using the wrong driver here. Jeff's patch is
for libata, which is an implementation of SATA drivers in the SCSI
layer. You'll find the libata driver options under the SCSI menu in
the kernel config. Try disabling the pure IDE layer driver (in
"ATA/ATAPI/MFM/RLL support"), and go to the "SCSI low-level drivers"
menu, and enable "Serial ATA (SATA) support".

CONFIG_SCSI_SATA=y
CONFIG_SCSI_SATA_SIL=y

Hugo.

--
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
PGP key: 1C335860 from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
--- You can get more with a kind word and a 2"x4" than you can ---
with just a kind word.

Attachment: signature.asc
Description: Digital signature