diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-08-20 16:42:56 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-08-20 16:42:56 -0400 |
commit | a5b7e70d787f528386eda025d3e38f545017f241 (patch) | |
tree | 8cef80801bebf9b9d87ae97420b92f15ad3472f3 /include/linux | |
parent | 59785c8fe23ca2f432bc41ef473a8933ab435812 (diff) |
ide: add cable detection for early UDMA66 devices (take 3)
* Move ide_in_drive_list() from ide-dma.c to ide-iops.c.
* Add ivb_list[] table for listening early UDMA66 devices which don't conform
to ATA4 standard wrt cable detection (bit14 is zero, only bit13 is valid)
and use only device side cable detection for them since host side cable
detection may be unreliable.
* Add model "QUANTUM FIREBALLlct10 05" with firwmare "A03.0900" to the list
(from Craig's bugreport).
v2:
* Improve kernel message basing on suggestion from Sergei.
v3:
* Don't print kernel message when no device side cable detection is done,
plus some minor fixes. (Noticed by Sergei)
Thanks to Craig for testing this patch.
Cc: Craig Block <chblock3@yahoo.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/ide.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index 7e15e0870290..c792b4fd1588 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1285,13 +1285,14 @@ void ide_init_sg_cmd(ide_drive_t *, struct request *); | |||
1285 | #define BAD_DMA_DRIVE 0 | 1285 | #define BAD_DMA_DRIVE 0 |
1286 | #define GOOD_DMA_DRIVE 1 | 1286 | #define GOOD_DMA_DRIVE 1 |
1287 | 1287 | ||
1288 | #ifdef CONFIG_BLK_DEV_IDEDMA | ||
1289 | struct drive_list_entry { | 1288 | struct drive_list_entry { |
1290 | const char *id_model; | 1289 | const char *id_model; |
1291 | const char *id_firmware; | 1290 | const char *id_firmware; |
1292 | }; | 1291 | }; |
1293 | 1292 | ||
1294 | int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *); | 1293 | int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *); |
1294 | |||
1295 | #ifdef CONFIG_BLK_DEV_IDEDMA | ||
1295 | int __ide_dma_bad_drive(ide_drive_t *); | 1296 | int __ide_dma_bad_drive(ide_drive_t *); |
1296 | int __ide_dma_good_drive(ide_drive_t *); | 1297 | int __ide_dma_good_drive(ide_drive_t *); |
1297 | u8 ide_max_dma_mode(ide_drive_t *); | 1298 | u8 ide_max_dma_mode(ide_drive_t *); |