patch-2.1.71 linux/drivers/block/ide.h
Next file: linux/drivers/block/nbd.c
Previous file: linux/drivers/block/ide.c
Back to the patch index
Back to the overall index
- Lines: 63
- Date:
Thu Dec 4 13:35:53 1997
- Orig file:
v2.1.70/linux/drivers/block/ide.h
- Orig date:
Mon Dec 1 12:04:12 1997
diff -u --recursive --new-file v2.1.70/linux/drivers/block/ide.h linux/drivers/block/ide.h
@@ -164,7 +164,7 @@
#define WAIT_CMD (10*HZ) /* 10sec - maximum wait for an IRQ to happen */
#define WAIT_MIN_SLEEP (2*HZ/100) /* 20msec - minimum sleep time */
-#if defined(CONFIG_BLK_DEV_HT6560B) || defined(CONFIG_BLK_DEV_PDC4030)
+#if defined(CONFIG_BLK_DEV_HT6560B) || defined(CONFIG_BLK_DEV_PDC4030) || defined(CONFIG_BLK_DEV_TRM290)
#define SELECT_DRIVE(hwif,drive) \
{ \
if (hwif->selectproc) \
@@ -289,7 +289,7 @@
typedef void (ide_tuneproc_t)(ide_drive_t *, byte);
/*
- * This is used to provide HT6560B & PDC4030 interface support.
+ * This is used to provide HT6560B & PDC4030 & TRM290 interface support.
*/
typedef void (ide_selectproc_t) (ide_drive_t *);
@@ -300,7 +300,8 @@
typedef enum { ide_unknown, ide_generic, ide_pci,
ide_cmd640, ide_dtc2278, ide_ali14xx,
ide_qd6580, ide_umc8672, ide_ht6560b,
- ide_pdc4030, ide_rz1000 }
+ ide_pdc4030, ide_rz1000, ide_trm290,
+ ide_4drives }
hwif_chipset_t;
typedef struct hwif_s {
@@ -310,11 +311,12 @@
ide_drive_t drives[MAX_DRIVES]; /* drive info */
struct gendisk *gd; /* gendisk structure */
ide_tuneproc_t *tuneproc; /* routine to tune PIO mode for drives */
-#if defined(CONFIG_BLK_DEV_HT6560B) || defined(CONFIG_BLK_DEV_PDC4030)
+#if defined(CONFIG_BLK_DEV_HT6560B) || defined(CONFIG_BLK_DEV_PDC4030) || defined(CONFIG_BLK_DEV_TRM290)
ide_selectproc_t *selectproc; /* tweaks hardware to select drive */
#endif
ide_dmaproc_t *dmaproc; /* dma read/write/abort routine */
unsigned long *dmatable; /* dma physical region descriptor table */
+ struct hwif_s *mate; /* other hwif from same PCI chip */
unsigned short dma_base; /* base addr for dma ports (triton) */
int irq; /* our irq number */
byte major; /* our major number */
@@ -329,6 +331,7 @@
unsigned is_pdc4030_2: 1;/* 2nd i/f on pdc4030 */
#endif /* CONFIG_BLK_DEV_PDC4030 */
unsigned reset : 1; /* reset after probe */
+ unsigned pci_port : 1; /* for dual-port chips: 0=primary, 1=secondary */
#if (DISK_RECOVERY_TIME > 0)
unsigned long last_time; /* time when previous rq was done */
#endif
@@ -609,6 +612,12 @@
ide_drive_t *ide_scan_devices (byte media, ide_driver_t *driver, int n);
int ide_register_subdriver (ide_drive_t *drive, ide_driver_t *driver, int version);
int ide_unregister_subdriver (ide_drive_t *drive);
+
+#ifdef CONFIG_BLK_DEV_IDEDMA
+int ide_build_dmatable (ide_drive_t *drive);
+int ide_dmaproc (ide_dma_action_t func, ide_drive_t *drive);
+void ide_setup_dma (ide_hwif_t *hwif, unsigned short dmabase, unsigned int num_ports);
+#endif
#ifdef CONFIG_BLK_DEV_IDE
int ideprobe_init (void);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov