diff options
author | Zhang, Yanmin <yanmin_zhang@linux.intel.com> | 2007-02-08 22:29:51 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-15 18:04:53 -0500 |
commit | 9f271d576a79f74a543c4099a014d8d4eafa737d (patch) | |
tree | ff666086dd0756e879b16eca8dbb6c26b331c9dc | |
parent | 81afe893181b283f9d182ea8637ce6ccdbe1a56a (diff) |
ATA convert GSI to irq on ia64
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 <yanmin.zhang@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | arch/ia64/Kconfig | 1 | ||||
-rw-r--r-- | include/asm-ia64/libata-portmap.h | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index db185f34e341..d51f0f11f7f9 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -22,6 +22,7 @@ config IA64 | |||
22 | 22 | ||
23 | config 64BIT | 23 | config 64BIT |
24 | bool | 24 | bool |
25 | select ATA_NONSTANDARD if ATA | ||
25 | default y | 26 | default y |
26 | 27 | ||
27 | config ZONE_DMA | 28 | config ZONE_DMA |
diff --git a/include/asm-ia64/libata-portmap.h b/include/asm-ia64/libata-portmap.h new file mode 100644 index 000000000000..0e00c9a9f410 --- /dev/null +++ b/include/asm-ia64/libata-portmap.h | |||
@@ -0,0 +1,12 @@ | |||
1 | #ifndef __ASM_IA64_LIBATA_PORTMAP_H | ||
2 | #define __ASM_IA64_LIBATA_PORTMAP_H | ||
3 | |||
4 | #define ATA_PRIMARY_CMD 0x1F0 | ||
5 | #define ATA_PRIMARY_CTL 0x3F6 | ||
6 | #define ATA_PRIMARY_IRQ(dev) isa_irq_to_vector(14) | ||
7 | |||
8 | #define ATA_SECONDARY_CMD 0x170 | ||
9 | #define ATA_SECONDARY_CTL 0x376 | ||
10 | #define ATA_SECONDARY_IRQ(dev) isa_irq_to_vector(15) | ||
11 | |||
12 | #endif | ||