• Bartlomiej Zolnierkiewicz's avatar
    ide: cable detection fixes (take 2) · 7f8f48af
    Bartlomiej Zolnierkiewicz authored
    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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    7f8f48af
ide-lib.c 15 KB