Re: IDE/ATA: Intel i865-based mainboard, CDROM not detected

From: Jonathan Woithe
Date: Fri Jun 01 2007 - 03:06:23 EST


Jeff Garzik wrote:
> Lennart Sorensen wrote:
> > On Thu, May 31, 2007 at 10:21:57AM +0930, Jonathan Woithe wrote:
> >> I don't think so but I could be wrong. When "Configure SATA as" was set to
> >> "IDE" the HDD was being detected as a SATA drive and showed up as /dev/sda.
> >> The only visible difference the change to "AHCI" made was that instead of
> >> the drive being handled by the ata_piix it now utilises the ahci driver
> >> (which is a much better driver). The other interesting thing is that the
> >> probe for the Marvell PATA device occured before the initialisation of the
> >> ata_piix driver (or ahci for that matter), so as far as I can tell ata_piix
> >> had no chance to grab any ports before the marvell driver initialised.
> >
> > Linux can still detect the chip and drive it natively even if the bios
> > is emulating IDE/PATA on the chip. And libata will make both PATA and
> > SATA show up as /dev/sda now if you use libata for both. On the other
> > hand if the bios has configured the intel chip to use the standard ide
> > registers, then it can't have configured the marvell to do so I would
> > guess, which could make it difficult to talk to.
>
> Mostly true... "standard IDE" can be configured in two modes, legacy
> mode and native mode. Legacy mode has fixed addresses originating from
> the ISA days (0x170, 0x1f0, irqs 14 & 15), and (as you implied) you
> cannot bind two IDE controllers to the same ISA addresses.
>
> OTOH, an unlimited number of IDE controllers can be configured into
> native mode, where all addresses and irq are allocated using standard
> means accorded all PCI devices.

In the situation being discussed, "ATA/IDE Mode" was set to "Native" in the
BIOS (the other option for this item was "Legacy"). The BIOS had a separate
"Configure SATA as" item with the options RAID, IDE and AHCI and it is this
one which, when set to IDE, prevented Linux from finding the Marvell PATA
chip - even though "ATA/IDE Mode" was set to "native".

The legacy/native issue Jeff discusses sounds like it relates to the
"ATA/IDE Mode" BIOS setting. Since this was always "Native" during the
tests and given what Jeff wrote, I would have thought the BIOS would not be
using the legacy ISA-era settings and therefore they were not the reason for
Linux not finding the Marvell PATA controller.

Regards
jonathan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/