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 b0135b0c3a0..eddb6daadf4 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -153,7 +153,7 @@ enum {		ide_unknown,	ide_generic,	ide_pci,  		ide_qd65xx,	ide_umc8672,	ide_ht6560b,  		ide_rz1000,	ide_trm290,  		ide_cmd646,	ide_cy82c693,	ide_4drives, -		ide_pmac,	ide_etrax100,	ide_acorn, +		ide_pmac,	ide_acorn,  		ide_au1xxx,	ide_palm3710  }; @@ -189,6 +189,21 @@ static inline void ide_std_init_ports(hw_regs_t *hw,  	hw->io_ports.ctl_addr = ctl_addr;  } +/* for IDE PCI controllers in legacy mode, temporary */ +static inline int __ide_default_irq(unsigned long base) +{ +	switch (base) { +#ifdef CONFIG_IA64 +	case 0x1f0: return isa_irq_to_vector(14); +	case 0x170: return isa_irq_to_vector(15); +#else +	case 0x1f0: return 14; +	case 0x170: return 15; +#endif +	} +	return 0; +} +  #include <asm/ide.h>  #if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED) @@ -965,7 +980,6 @@ typedef struct ide_task_s {  void ide_tf_dump(const char *, struct ide_taskfile *);  extern void SELECT_DRIVE(ide_drive_t *); -extern void SELECT_MASK(ide_drive_t *, int);  extern int drive_is_ready(ide_drive_t *); @@ -1058,8 +1072,8 @@ enum {  	IDE_HFLAG_NO_SET_MODE		= (1 << 9),  	/* trust BIOS for programming chipset/device for DMA */  	IDE_HFLAG_TRUST_BIOS_FOR_DMA	= (1 << 10), -	/* host uses VDMA (tied with IDE_HFLAG_CS5520 for now) */ -	IDE_HFLAG_VDMA			= (1 << 11), +	/* host is CS5510/CS5520 */ +	IDE_HFLAG_CS5520		= (1 << 11),  	/* ATAPI DMA is unsupported */  	IDE_HFLAG_NO_ATAPI_DMA		= (1 << 12),  	/* set if host is a "non-bootable" controller */ @@ -1070,8 +1084,6 @@ enum {  	IDE_HFLAG_NO_AUTODMA		= (1 << 15),  	/* host uses MMIO */  	IDE_HFLAG_MMIO			= (1 << 16), -	/* host is CS5510/CS5520 */ -	IDE_HFLAG_CS5520		= IDE_HFLAG_VDMA,  	/* no LBA48 */  	IDE_HFLAG_NO_LBA48		= (1 << 17),  	/* no LBA48 DMA */ @@ -1101,6 +1113,8 @@ enum {  	IDE_HFLAG_NO_IO_32BIT		= (1 << 30),  	/* never unmask IRQs */  	IDE_HFLAG_NO_UNMASK_IRQS	= (1 << 31), +	/* host uses VDMA (disabled for now) */ +	IDE_HFLAG_VDMA			= 0,  };  #ifdef CONFIG_BLK_DEV_OFFBOARD  |