From: "Zhang, Yanmin" If an ATA drive uses legacy mode, ata driver will choose 14 and 15 as the fixed irq number. On ia64 platform, such numbers are GSI and should be converted to irq vector. Signed-off-by: Zhang Yanmin Cc: Jeff Garzik Cc: "Luck, Tony" Cc: Signed-off-by: Andrew Morton --- arch/ia64/Kconfig | 1 + include/asm-ia64/libata-portmap.h | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff -puN arch/ia64/Kconfig~ata-convert-gsi-to-irq-on-ia64 arch/ia64/Kconfig --- a/arch/ia64/Kconfig~ata-convert-gsi-to-irq-on-ia64 +++ a/arch/ia64/Kconfig @@ -11,6 +11,7 @@ menu "Processor type and features" config IA64 bool + select ATA_NONSTANDARD if ATA default y help The Itanium Processor Family is Intel's 64-bit successor to diff -puN /dev/null include/asm-ia64/libata-portmap.h --- /dev/null +++ a/include/asm-ia64/libata-portmap.h @@ -0,0 +1,12 @@ +#ifndef __ASM_IA64_LIBATA_PORTMAP_H +#define __ASM_IA64_LIBATA_PORTMAP_H + +#define ATA_PRIMARY_CMD 0x1F0 +#define ATA_PRIMARY_CTL 0x3F6 +#define ATA_PRIMARY_IRQ(dev) isa_irq_to_vector(14) + +#define ATA_SECONDARY_CMD 0x170 +#define ATA_SECONDARY_CTL 0x376 +#define ATA_SECONDARY_IRQ(dev) isa_irq_to_vector(15) + +#endif _