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.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index a7d8b4bc7681..02a27e8cbad2 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -681,7 +681,7 @@ typedef struct hwif_s {
681 u8 straight8; /* Alan's straight 8 check */ 681 u8 straight8; /* Alan's straight 8 check */
682 u8 bus_state; /* power state of the IDE bus */ 682 u8 bus_state; /* power state of the IDE bus */
683 683
684 u8 host_flags; 684 u16 host_flags;
685 685
686 u8 pio_mask; 686 u8 pio_mask;
687 687
@@ -702,10 +702,10 @@ typedef struct hwif_s {
702#if 0 702#if 0
703 ide_hwif_ops_t *hwifops; 703 ide_hwif_ops_t *hwifops;
704#else 704#else
705 /* routine to set PIO mode for drives */ 705 /* routine to program host for PIO mode */
706 void (*set_pio_mode)(ide_drive_t *, const u8); 706 void (*set_pio_mode)(ide_drive_t *, const u8);
707 /* routine to retune DMA modes for drives */ 707 /* routine to program host for DMA mode */
708 int (*speedproc)(ide_drive_t *, const u8); 708 void (*set_dma_mode)(ide_drive_t *, const u8);
709 /* tweaks hardware to select drive */ 709 /* tweaks hardware to select drive */
710 void (*selectproc)(ide_drive_t *); 710 void (*selectproc)(ide_drive_t *);
711 /* chipset polling based on hba specifics */ 711 /* chipset polling based on hba specifics */
@@ -1257,6 +1257,10 @@ enum {
1257 * for hosts which have separate PIO and DMA timings (ie. PMAC) 1257 * for hosts which have separate PIO and DMA timings (ie. PMAC)
1258 */ 1258 */
1259 IDE_HFLAG_SET_PIO_MODE_KEEP_DMA = (1 << 7), 1259 IDE_HFLAG_SET_PIO_MODE_KEEP_DMA = (1 << 7),
1260 /* program host for the transfer mode after programming device */
1261 IDE_HFLAG_POST_SET_MODE = (1 << 8),
1262 /* don't program host/device for the transfer mode ("smart" hosts) */
1263 IDE_HFLAG_NO_SET_MODE = (1 << 9),
1260}; 1264};
1261 1265
1262typedef struct ide_pci_device_s { 1266typedef struct ide_pci_device_s {
@@ -1273,7 +1277,7 @@ typedef struct ide_pci_device_s {
1273 u8 bootable; 1277 u8 bootable;
1274 unsigned int extra; 1278 unsigned int extra;
1275 struct ide_pci_device_s *next; 1279 struct ide_pci_device_s *next;
1276 u8 host_flags; 1280 u16 host_flags;
1277 u8 pio_mask; 1281 u8 pio_mask;
1278 u8 udma_mask; 1282 u8 udma_mask;
1279} ide_pci_device_t; 1283} ide_pci_device_t;
@@ -1414,6 +1418,9 @@ unsigned int ide_pio_cycle_time(ide_drive_t *, u8);
1414u8 ide_get_best_pio_mode(ide_drive_t *, u8, u8); 1418u8 ide_get_best_pio_mode(ide_drive_t *, u8, u8);
1415extern const ide_pio_timings_t ide_pio_timings[6]; 1419extern const ide_pio_timings_t ide_pio_timings[6];
1416 1420
1421int ide_set_pio_mode(ide_drive_t *, u8);
1422int ide_set_dma_mode(ide_drive_t *, u8);
1423
1417void ide_set_pio(ide_drive_t *, u8); 1424void ide_set_pio(ide_drive_t *, u8);
1418 1425
1419static inline void ide_set_max_pio(ide_drive_t *drive) 1426static inline void ide_set_max_pio(ide_drive_t *drive)