]> git.neil.brown.name Git - history.git/commit
[PATCH] IDE fixes
authorJens Axboe <axboe@suse.de>
Fri, 20 Sep 2002 03:45:00 +0000 (20:45 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 20 Sep 2002 03:45:00 +0000 (20:45 -0700)
commitf3533a9f65805d885e9f9116e422558a282be2cd
treef219189af6373d87bd4ca892bf3cc4c8fbc01200
parentd026dd462b8e7fb79dc5d8316b015cdbe66e3121
[PATCH] IDE fixes

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.
drivers/ide/pci/cy82c693.c
drivers/ide/setup-pci.c