diff options
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r-- | include/linux/ide.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index b0135b0c3a04..eddb6daadf4a 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -153,7 +153,7 @@ enum { ide_unknown, ide_generic, ide_pci, | |||
153 | ide_qd65xx, ide_umc8672, ide_ht6560b, | 153 | ide_qd65xx, ide_umc8672, ide_ht6560b, |
154 | ide_rz1000, ide_trm290, | 154 | ide_rz1000, ide_trm290, |
155 | ide_cmd646, ide_cy82c693, ide_4drives, | 155 | ide_cmd646, ide_cy82c693, ide_4drives, |
156 | ide_pmac, ide_etrax100, ide_acorn, | 156 | ide_pmac, ide_acorn, |
157 | ide_au1xxx, ide_palm3710 | 157 | ide_au1xxx, ide_palm3710 |
158 | }; | 158 | }; |
159 | 159 | ||
@@ -189,6 +189,21 @@ static inline void ide_std_init_ports(hw_regs_t *hw, | |||
189 | hw->io_ports.ctl_addr = ctl_addr; | 189 | hw->io_ports.ctl_addr = ctl_addr; |
190 | } | 190 | } |
191 | 191 | ||
192 | /* for IDE PCI controllers in legacy mode, temporary */ | ||
193 | static inline int __ide_default_irq(unsigned long base) | ||
194 | { | ||
195 | switch (base) { | ||
196 | #ifdef CONFIG_IA64 | ||
197 | case 0x1f0: return isa_irq_to_vector(14); | ||
198 | case 0x170: return isa_irq_to_vector(15); | ||
199 | #else | ||
200 | case 0x1f0: return 14; | ||
201 | case 0x170: return 15; | ||
202 | #endif | ||
203 | } | ||
204 | return 0; | ||
205 | } | ||
206 | |||
192 | #include <asm/ide.h> | 207 | #include <asm/ide.h> |
193 | 208 | ||
194 | #if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED) | 209 | #if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED) |
@@ -965,7 +980,6 @@ typedef struct ide_task_s { | |||
965 | void ide_tf_dump(const char *, struct ide_taskfile *); | 980 | void ide_tf_dump(const char *, struct ide_taskfile *); |
966 | 981 | ||
967 | extern void SELECT_DRIVE(ide_drive_t *); | 982 | extern void SELECT_DRIVE(ide_drive_t *); |
968 | extern void SELECT_MASK(ide_drive_t *, int); | ||
969 | 983 | ||
970 | extern int drive_is_ready(ide_drive_t *); | 984 | extern int drive_is_ready(ide_drive_t *); |
971 | 985 | ||
@@ -1058,8 +1072,8 @@ enum { | |||
1058 | IDE_HFLAG_NO_SET_MODE = (1 << 9), | 1072 | IDE_HFLAG_NO_SET_MODE = (1 << 9), |
1059 | /* trust BIOS for programming chipset/device for DMA */ | 1073 | /* trust BIOS for programming chipset/device for DMA */ |
1060 | IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10), | 1074 | IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10), |
1061 | /* host uses VDMA (tied with IDE_HFLAG_CS5520 for now) */ | 1075 | /* host is CS5510/CS5520 */ |
1062 | IDE_HFLAG_VDMA = (1 << 11), | 1076 | IDE_HFLAG_CS5520 = (1 << 11), |
1063 | /* ATAPI DMA is unsupported */ | 1077 | /* ATAPI DMA is unsupported */ |
1064 | IDE_HFLAG_NO_ATAPI_DMA = (1 << 12), | 1078 | IDE_HFLAG_NO_ATAPI_DMA = (1 << 12), |
1065 | /* set if host is a "non-bootable" controller */ | 1079 | /* set if host is a "non-bootable" controller */ |
@@ -1070,8 +1084,6 @@ enum { | |||
1070 | IDE_HFLAG_NO_AUTODMA = (1 << 15), | 1084 | IDE_HFLAG_NO_AUTODMA = (1 << 15), |
1071 | /* host uses MMIO */ | 1085 | /* host uses MMIO */ |
1072 | IDE_HFLAG_MMIO = (1 << 16), | 1086 | IDE_HFLAG_MMIO = (1 << 16), |
1073 | /* host is CS5510/CS5520 */ | ||
1074 | IDE_HFLAG_CS5520 = IDE_HFLAG_VDMA, | ||
1075 | /* no LBA48 */ | 1087 | /* no LBA48 */ |
1076 | IDE_HFLAG_NO_LBA48 = (1 << 17), | 1088 | IDE_HFLAG_NO_LBA48 = (1 << 17), |
1077 | /* no LBA48 DMA */ | 1089 | /* no LBA48 DMA */ |
@@ -1101,6 +1113,8 @@ enum { | |||
1101 | IDE_HFLAG_NO_IO_32BIT = (1 << 30), | 1113 | IDE_HFLAG_NO_IO_32BIT = (1 << 30), |
1102 | /* never unmask IRQs */ | 1114 | /* never unmask IRQs */ |
1103 | IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31), | 1115 | IDE_HFLAG_NO_UNMASK_IRQS = (1 << 31), |
1116 | /* host uses VDMA (disabled for now) */ | ||
1117 | IDE_HFLAG_VDMA = 0, | ||
1104 | }; | 1118 | }; |
1105 | 1119 | ||
1106 | #ifdef CONFIG_BLK_DEV_OFFBOARD | 1120 | #ifdef CONFIG_BLK_DEV_OFFBOARD |