android_kernel_xiaomi_sm8350/drivers/ide/pci
Sergei Shtylyov e277a1aaa9 cmd64x: fix recovery time calculation (take 3)
The driver wrongly takes the address setup time into account when calculating
the PIO recovery time -- this leads to slight overclocking of the PIO modes 0
and 1 (so, the prayers failed to help, as usual :-).  Rework the code to be
calculating recovery clock count as a difference between the total cycle count
and the active count (we don't need to calculate the recovery time itself since
it's not specified for the PIO modes 0 to 2, and for modes 3 and 4 this formula
gives enough recovery time anyway in the chip's supported PCI frequency range).

This patch has been inspired by reading the datasheets and looking at what the
libata driver does; it has been compile-tested only (as usual :-) but anyway,
the new code gives the same or longer recovery times than the old one...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-03-17 21:57:24 +01:00
..
aec62xx.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
alim15x3.c alim15x3: fix PIO mode setup 2007-03-03 17:48:52 +01: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: fix recovery time calculation (take 3) 2007-03-17 21:57:24 +01: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: pci_module_init to pci_register_driver 2007-03-03 17:48:55 +01: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 ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
it821x.c ide: make ide_hwif_t.ide_dma_{host_off,off_quietly} void (v2) 2007-02-17 02:40:26 +01:00
it8213.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
jmicron.c ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01:00
Makefile IDE Driver for Delkin/Lexar/etc.. cardbus CF adapter 2007-02-07 18:19:32 +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 ide: add ide_set_dma() helper (v2) 2007-02-17 02:40:26 +01: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
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 ide: make ide_hwif_t.ide_dma_{host_off,off_quietly} void (v2) 2007-02-17 02:40:26 +01: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