Re: [PATCH] restore libata build on frv

Alan Cox
2006-09-25T11:56:30Z

Ar Llu, 2006-09-25 am 12:27 +0100, ysgrifennodd David Howells:
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> These are all legacy ISA settings, and not applicable to FRV:
>
> #define ATA_PRIMARY_CMD 0x1F0
> #define ATA_PRIMARY_CTL 0x3F6
> #define ATA_PRIMARY_IRQ 14
>
> #define ATA_SECONDARY_CMD 0x170
> #define ATA_SECONDARY_CTL 0x376
> #define ATA_SECONDARY_IRQ 15

Wrong these are PCI settings. Please read the PCI specifications. In
particular the handling of non-native mode IDE storage class devices on
a PCI bus. For the IRQ mapping of the non-native ports consult your
bridge documentation.

> Note that the ata_pci_init_legacy_port() explicitly states the IRQ numbers as
> 14 and 15 without reference to the macros and so is bad, eg:
>
> probe_ent->irq = 14;

That is indeed a bug

> Make FRV build with libata enabled. This is done by making the legacy ISA
> interface support conditional on the definition of the legacy ISA port
> settings. If there's no ISA bus, we shouldn't even attempt to pretend that
> there is.
>
> Signed-Off-By: David Howells <dhowells@redhat.com>

Nacked-by: Alan Cox <alan@redhat.com>