diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-09 18:01:10 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-09 18:01:10 -0400 |
commit | 7f8f48af0861c38c28d4abd550102643e0ea9e6a (patch) | |
tree | 6ec47ace87afbd96cc1144d423854b09d9f21d75 /include/linux/ide.h | |
parent | 7662d046df09e80680b77b68de896beab45e675e (diff) |
ide: cable detection fixes (take 2)
Tejun's recent eighty_ninty_three() fix has inspired me to do more thorough
review of the cable detection code...
* print user-friendly warning about limiting the maximum transfer speed
to UDMA33 (and the reason behind it) when 80-wire cable is not detected,
also while at it cleanup eighty_ninty_three() a bit
* use eighty_ninty_three() in ide_ata66_check(), this actually fixes 3 bugs:
- bit 14 (word 93 validity check) == 1 && bit 13 (80-wire cable test) == 1
were used as 80-wire cable present test for CONFIG_IDEDMA_IVB=n case
(please see FIXME comment in eighty_ninty_three() for more details)
- CONFIG_IDEDMA_IVB=y/n cases were interchanged
- check for SATA devices was missing
* remove private cable warnings from pdc_202xx{old,new} drivers now that core
code provides this functionality (plus, in pdc202xx_new case the test could
give false warnings for ATAPI devices because pdc202xx_new driver doesn't
even support ATAPI DMA)
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r-- | include/linux/ide.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index 477b8c6be727..ca924b295c2e 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -605,6 +605,7 @@ typedef struct ide_drive_s { | |||
605 | unsigned scsi : 1; /* 0=default, 1=ide-scsi emulation */ | 605 | unsigned scsi : 1; /* 0=default, 1=ide-scsi emulation */ |
606 | unsigned sleeping : 1; /* 1=sleeping & sleep field valid */ | 606 | unsigned sleeping : 1; /* 1=sleeping & sleep field valid */ |
607 | unsigned post_reset : 1; | 607 | unsigned post_reset : 1; |
608 | unsigned udma33_warned : 1; | ||
608 | 609 | ||
609 | u8 addressing; /* 0=28-bit, 1=48-bit, 2=48-bit doing 28-bit */ | 610 | u8 addressing; /* 0=28-bit, 1=48-bit, 2=48-bit doing 28-bit */ |
610 | u8 quirk_list; /* considered quirky, set for a specific host */ | 611 | u8 quirk_list; /* considered quirky, set for a specific host */ |