aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ide.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r--include/linux/ide.h26
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 */
193static 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 {
965void ide_tf_dump(const char *, struct ide_taskfile *); 980void ide_tf_dump(const char *, struct ide_taskfile *);
966 981
967extern void SELECT_DRIVE(ide_drive_t *); 982extern void SELECT_DRIVE(ide_drive_t *);
968extern void SELECT_MASK(ide_drive_t *, int);
969 983
970extern int drive_is_ready(ide_drive_t *); 984extern 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