linux/drivers/ide/pci
Bartlomiej Zolnierkiewicz 0e9b4e535f it821x: PIO mode setup fixes
* limit max PIO mode to PIO4, this driver doesn't support PIO5 and attempt
  to setup PIO5 by it821x_tuneproc() could result in incorrect PIO timings
  + incorrect base clock being set for controller in the passthrough mode

* move code limiting max PIO according to the pair device capabilities from
  config_it821x_chipset_for_pio() to it821x_tuneproc() so the check is also
  applied for mode change requests coming through ->tuneproc and ->speedproc
  interfaces

* set device speed in it821x_tuneproc()

* in it821x_tune_chipset() call it821x_tuneproc() also if the controller is
  in the smart mode (so the check for pair device max PIO is done)

* rename it821x_tuneproc() to it821x_tune_pio(), then add it821x_tuneproc()
  wrapper which does the max PIO mode check;  it worked by the pure luck
  previously, pio[4] and pio_want[4] arrays were used with index == 255
  so random PIO timings and base clock were set for the controller in the
  passthrough mode, thankfully PIO timings and base clock were corrected
  later by config_it821x_chipset_for_pio() call (but it was not called for
  PIO-only devices during resume and for user requested PIO autotuning)

* remove config_it821x_chipset_for_pio() call from config_chipset_for_dma()
  as the driver sets ->autotune to 1 and ->tuneproc does the proper job now

* convert the last user of config_it821x_chipset_for_pio() to use
  it821x_tuneproc(drive, 255) and remove no longer needed function

While at it:

* fix few comments

* bump driver version

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-05 22:03:50 +02:00
..
aec62xx.c aec62xx: fix PIO/DMA setup issues 2007-05-05 22:03:50 +02:00
alim15x3.c alim15x3: PIO fallback fix 2007-05-05 22:03:50 +02:00
amd74xx.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
atiixp.c ide: make ide_hwif_t.ide_dma_host_on void (v2) 2007-02-17 02:40:26 +01:00
cmd64x.c cmd64x: use interrupt status from MRDMODE register (take 2) 2007-05-05 22:03:50 +02:00
cmd640.c ide: remove a ton of pointless #undef REALLY_SLOW_IO 2007-03-03 17:48:54 +01:00
cs5520.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
cs5530.c ide: make ide_hwif_t.ide_dma_{host_off,off_quietly} void (v2) 2007-02-17 02:40:26 +01:00
cs5535.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
cy82c693.c ide: use PIO/MMIO operations directly where possible (v2) 2007-02-17 02:40:25 +01:00
delkin_cb.c ide/pci/delkin_cb.c: add new PCI ID 2007-04-20 22:16:58 +02:00
generic.c ide: remove a ton of pointless #undef REALLY_SLOW_IO 2007-03-03 17:48:54 +01:00
hpt34x.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
hpt366.c hpt366: fix kernel oops with HPT302N 2007-04-20 22:16:58 +02:00
it821x.c it821x: PIO mode setup fixes 2007-05-05 22:03:50 +02:00
it8213.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
jmicron.c jmicron: make ide jmicron driver play nice with libata ones 2007-03-17 21:57:25 +01:00
Makefile scc_pata: dependency fix 2007-03-17 21:57:25 +01:00
ns87415.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
opti621.c ide: remove some obsoleted kernel params (v2) 2007-03-03 17:48:55 +01:00
pdc202xx_new.c pdc202xx_new: enable DMA for all ATAPI devices 2007-05-05 22:03:50 +02:00
pdc202xx_old.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
piix.c piix/slc90e66: more tuneproc() fixing (take 2) 2007-03-03 17:48:53 +01:00
rz1000.c ide: remove a ton of pointless #undef REALLY_SLOW_IO 2007-03-03 17:48:54 +01:00
sc1200.c ide: make ide_hwif_t.ide_dma_{host_off,off_quietly} void (v2) 2007-02-17 02:40:26 +01:00
scc_pata.c scc_pata: dependency fix 2007-03-17 21:57:25 +01:00
serverworks.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
sgiioc4.c ide: make ide_hwif_t.ide_dma_host_on void (v2) 2007-02-17 02:40:26 +01:00
siimage.c siimage: DRAC4 note 2007-03-03 17:48:54 +01:00
sis5513.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
sl82c105.c sl82c105: DMA support code cleanup (take 4) 2007-05-05 22:03:49 +02:00
slc90e66.c piix/slc90e66: more tuneproc() fixing (take 2) 2007-03-03 17:48:53 +01:00
tc86c001.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
triflex.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
trm290.c ide: use PIO/MMIO operations directly where possible (v2) 2007-02-17 02:40:25 +01:00
via82cxxx.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00