projects/linux·commit 9f271d57

ATA convert GSI to irq on ia64

9f271d57 · Zhang, Yanmin <[email protected]> · 2007-02-09 11:29:51 +08:00

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.

Below patch against kernel 2.6.20 fixes it.

Signed-off-by: Zhang Yanmin <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
Commit
9f271d576a79f74a543c4099a014d8d4eafa737d
Parents
81afe893

Changes

2 files changed · +13 −0

FileStatusAddDelContent
arch/ia64/Kconfigmodified+1−0View file
include/asm-ia64/libata-portmap.hadded+12−0View file

arch/ia64/Kconfig

View file
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index db185f3..d51f0f1 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -22,6 +22,7 @@ config IA64
config 64BIT
bool
+ select ATA_NONSTANDARD if ATA
default y
config ZONE_DMA

include/asm-ia64/libata-portmap.h

View file
diff --git a/include/asm-ia64/libata-portmap.h b/include/asm-ia64/libata-portmap.h
new file mode 100644
index 0000000..0e00c9a
--- /dev/null
+++ b/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