On Mon, 16 Oct 2006 16:24:50 BST, Alan Cox said: > There are some Linux supported platforms that simply cannot hit the low > I/O addresses used by ATA legacy mode PCI mappings. These platforms have > a window for PCI space that is fixed by the board logic and doesn't > include the neccessary locations. > > Provide a config option so that such platforms faced with a controller > that they cannot support simply error it and punt > > Signed-off-by: Alan Cox <[email protected]> > > diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla- 2.6.19-rc1-mm1/drivers/ata/libata-sff.c linux-2.6.19-rc1-mm1/drivers/ata/libata -sff.c > --- linux.vanilla-2.6.19-rc1-mm1/drivers/ata/libata-sff.c 2006-10-13 15:0 9:23.000000000 +0100 > +++ linux-2.6.19-rc1-mm1/drivers/ata/libata-sff.c 2006-10-13 17:15:57.000 000000 +0100 > @@ -981,6 +981,15 @@ > mask = (1 << 2) | (1 << 0); > if ((tmp8 & mask) != mask) > legacy_mode = (1 << 3); > +#if defined(CONFIG_NO_ATA_LEGACY) > + /* Some platforms with PCI limits cannot address compat > + port space. In that case we punt if their firmware has > + left a device in compatibility mode */ > + if (legacy_mode) { > + printk(KERN_ERR "ata: Compatibility mode ATA is not supported on this platform, skipping.\n"); Would it make sense for the printk to include a hint as to which controller is on crack, so on boxes with PCI_MULTITHREAD_PROBE it's easier to tell?
Attachment:
pgpigp2EVfai2.pgp
Description: PGP signature
- Follow-Ups:
- Re: [PATCH] libata-sff: Allow for wacky systems
- From: Alan Cox <[email protected]>
- Re: [PATCH] libata-sff: Allow for wacky systems
- References:
- [PATCH] libata-sff: Allow for wacky systems
- From: Alan Cox <[email protected]>
- [PATCH] libata-sff: Allow for wacky systems
- Prev by Date: [PATCH] arm: switch to new pci_get_bus_and_slot API
- Next by Date: pagefault_disable (was Re: [patch 6/6] mm: fix pagecache write deadlocks)
- Previous by thread: [PATCH] libata-sff: Allow for wacky systems
- Next by thread: Re: [PATCH] libata-sff: Allow for wacky systems
- Index(es):