diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
commit | 0ae2e178652753ae1797d407755a3505f7c1d2a7 (patch) | |
tree | fa725edcfb4b9752ebf2aa49a3e42e158537d4ed /include/linux/ide.h | |
parent | b8b739d3361c16773a30fe5c0360336bbc19f435 (diff) |
ide: remove ->ide_dma_check (take 2)
* Add IDE_HFLAG_TRUST_BIOS_FOR_DMA host flag for host drivers that depend
on BIOS for programming device/controller for DMA. Set it in cy82c693,
generic, ns87415, opti621 and trm290 host drivers.
* Add IDE_HFLAG_VDMA host flag for host drivers using VDMA. Set it in cs5520
host driver.
* Teach ide_tune_dma() about IDE_HFLAG_TRUST_BIOS_FOR_DMA flag.
* Add generic ide_dma_check() helper and remove all open coded ->ide_dma_check
implementations. Fix all places checking for presence of ->ide_dma_check
hook to check for ->ide_dma_on instead.
* Remove no longer needed code from config_drive_for_dma().
* Make ide_tune_dma() static.
v2:
* Fix config_drive_for_dma() return values.
* Fix ide-dma.c build for CONFIG_BLK_DEV_IDEDMA_PCI=n by adding
dummy config_drive_for_dma() inline.
* Fix IDE_HFLAG_TRUST_BIOS_FOR_DMA handling in ide_dma_check().
* Fix init_hwif_it8213() comment.
There should be no functionality changes caused by this patch.
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r-- | include/linux/ide.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index 86c5907db2a4..c144c7f2605a 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -736,7 +736,6 @@ typedef struct hwif_s { | |||
736 | void (*dma_exec_cmd)(ide_drive_t *, u8); | 736 | void (*dma_exec_cmd)(ide_drive_t *, u8); |
737 | void (*dma_start)(ide_drive_t *); | 737 | void (*dma_start)(ide_drive_t *); |
738 | int (*ide_dma_end)(ide_drive_t *drive); | 738 | int (*ide_dma_end)(ide_drive_t *drive); |
739 | int (*ide_dma_check)(ide_drive_t *drive); | ||
740 | int (*ide_dma_on)(ide_drive_t *drive); | 739 | int (*ide_dma_on)(ide_drive_t *drive); |
741 | void (*dma_off_quietly)(ide_drive_t *drive); | 740 | void (*dma_off_quietly)(ide_drive_t *drive); |
742 | int (*ide_dma_test_irq)(ide_drive_t *drive); | 741 | int (*ide_dma_test_irq)(ide_drive_t *drive); |
@@ -1256,6 +1255,10 @@ enum { | |||
1256 | IDE_HFLAG_POST_SET_MODE = (1 << 8), | 1255 | IDE_HFLAG_POST_SET_MODE = (1 << 8), |
1257 | /* don't program host/device for the transfer mode ("smart" hosts) */ | 1256 | /* don't program host/device for the transfer mode ("smart" hosts) */ |
1258 | IDE_HFLAG_NO_SET_MODE = (1 << 9), | 1257 | IDE_HFLAG_NO_SET_MODE = (1 << 9), |
1258 | /* trust BIOS for programming chipset/device for DMA */ | ||
1259 | IDE_HFLAG_TRUST_BIOS_FOR_DMA = (1 << 10), | ||
1260 | /* host uses VDMA */ | ||
1261 | IDE_HFLAG_VDMA = (1 << 11), | ||
1259 | }; | 1262 | }; |
1260 | 1263 | ||
1261 | typedef struct ide_pci_device_s { | 1264 | typedef struct ide_pci_device_s { |
@@ -1303,7 +1306,6 @@ static inline u8 ide_max_dma_mode(ide_drive_t *drive) | |||
1303 | return ide_find_dma_mode(drive, XFER_UDMA_6); | 1306 | return ide_find_dma_mode(drive, XFER_UDMA_6); |
1304 | } | 1307 | } |
1305 | 1308 | ||
1306 | int ide_tune_dma(ide_drive_t *); | ||
1307 | void ide_dma_off(ide_drive_t *); | 1309 | void ide_dma_off(ide_drive_t *); |
1308 | void ide_dma_verbose(ide_drive_t *); | 1310 | void ide_dma_verbose(ide_drive_t *); |
1309 | int ide_set_dma(ide_drive_t *); | 1311 | int ide_set_dma(ide_drive_t *); |
@@ -1330,7 +1332,6 @@ extern void ide_dma_timeout(ide_drive_t *); | |||
1330 | #else | 1332 | #else |
1331 | static inline u8 ide_find_dma_mode(ide_drive_t *drive, u8 speed) { return 0; } | 1333 | static inline u8 ide_find_dma_mode(ide_drive_t *drive, u8 speed) { return 0; } |
1332 | static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; } | 1334 | static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; } |
1333 | static inline int ide_tune_dma(ide_drive_t *drive) { return 0; } | ||
1334 | static inline void ide_dma_off(ide_drive_t *drive) { ; } | 1335 | static inline void ide_dma_off(ide_drive_t *drive) { ; } |
1335 | static inline void ide_dma_verbose(ide_drive_t *drive) { ; } | 1336 | static inline void ide_dma_verbose(ide_drive_t *drive) { ; } |
1336 | static inline int ide_set_dma(ide_drive_t *drive) { return 1; } | 1337 | static inline int ide_set_dma(ide_drive_t *drive) { return 1; } |