Re: Promise card no longer work as ide0/1?

From: Andre Hedrick (andre@linux-ide.org)
Date: Tue May 02 2000 - 12:34:48 EST


On Mon, 1 May 2000, Adam Fritzler wrote:

> I have all of two IDE interfaces. They're on one card. A Promise card.
> I expect them to be ide0 and ide1.
>
> If I have an ide3, I'd expect that I have four IDE interfaces. But I
> don't. I only have two.
>
> > Many have asked my why and I have never been able to clearly explain it.
> > Here is an opportunity to get the answer out.
>
> It just makes sense to me that that first of anything should be numbered
> zero. Second, one. Third, two. Fourth, three. Not have my first
> numbered as two and second labelled as three. It just doesnt make sense
> to me to have two and three if you don't have zero and one first.
>
> I don't think I'm being overly irrational about this.

No, you have a clear understanding; however, (you knew this was coming)
there is a bit of mystery about the magic powers of ide0/ide1.
This has everything to do with LILO and booting.

Since ide0/ide1 are generally assumed to be the onboard chipset, you have
to grant powers of authority to these interfaces. Thus there is a need to
preserve/reserve these intefaces for "LILO and booting".

*************
Kernel test.........

Set in your config file to build a kernel.

CONFIG_BLK_DEV_OFFBOARD=y

Then disable the onboard chipset/host in the BIOS.
Your Promise card will get access to ide0/ide1
*************

Now the calls for xxx=reverse.

Because the learned scanned PCI device order begins with the HOST-Bridge,
you have only the option of reading the learned ID's in forward or reverse
order (this of course bound by polling group).

Example.......

ATA/IDE interfaces located @ 00:07.1, 00:13.0, 00:13.1, 00:14.0

root@p6dnf% lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:07.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01)
00:07.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:10.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2164W [Millennium II]
00:11.0 Ethernet controller: Lite-On Communications Inc LNE100TX (rev 20)
00:13.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366 IDE Ultra DMA/66 (rev 02)
00:13.1 Unknown mass storage controller: Triones Technologies, Inc. HPT366 IDE Ultra DMA/66 (rev 02)
00:14.0 SCSI storage controller: Artop Electronic Corp: Unknown device 0007 (rev 01)

Now to explain "numerical order" or better PCI Device "numerical order".
There are dependences on the bridge, bus, function.
This resolves to a 3x3 matrix with the internal boundaries being variable.

Since the default scan order of PCI devices begins with the HOST, we do a
check and compare VENDOR/DEVICE ID codes for use.

for (;pci_devices;;)
        if (are you in my list of know ATA hosts or an unknown ATA)
                woohoo, found one........
        else
                drat, continue search

Now if the interface is defined as active (asking PCI space) then we
register the interface. Unfortunately if there are no devices present, we
do not unregister the DMA or IO space.

If this needs more, tell me.....

Cheers,

Andre Hedrick
The Linux ATA/IDE guy

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



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:10 EST