• Jens Axboe's avatar
    [PATCH] IDE fixes · f3533a9f
    Jens Axboe authored
    starting from 2.5.35 IDE stopped working on my alphas because of
    following problems:
    
    - ide_hwif_configure() ignores BARs for IDE base/control registers
      and assumes legacy 0x1f0/0x170 ports, unless controller reports
      native PCI mode (ProgIf bits 0 and 2).
    
      This is incorrect, as there are quite a few IDE chips operating
      in "semi-legacy" mode, i.e. legacy interrupts, but functional
      BAR0-3, like cy82c693 and ali5229. I guess Andre could give a lot
      more examples. :-)
    
      This happens to work on i386 simply because BIOS usually assigns
      legacy values to BAR0-3, but we can't rely on it.
    
      Just checking respective resource->start for zero should work in
      all cases.
    
    - ide_pci_check_iomem(): resource->flags == 0 means "unconfigured" as well.
      Thus we avoid false positives.
    
    - Apparently cut'n'paste typo in cy82c693.c - wrong PCI IDs.
    f3533a9f
cy82c693.c 13 KB