linux/drivers/ide
Bartlomiej Zolnierkiewicz 6b8cf7724b sis5513: PIO mode setup fixes
* limit max PIO mode to PIO4, this driver doesn't support PIO5 and attempt
  to program PIO5 by config_art_rwp_pio() could result in incorrect PIO
  timings being programmed and possibly the data corruption (for < ATA100
  family chipsets PIO0 timings were used, for ATA100 and ATA100a - the random
  content of test1 variable was used, for ATA133 - MWDMA0 timings were used)

* BUG() in sis5513_tune_chipset() if somebody tries to force unsupported PIO5,
  also cleanup this function a bit while at it

* add comment about PIO0 timings for < ATA100 family chipsets

* remove open-coded best PIO mode selection from config_art_rwp_pio(),
  it contained numerous bugs:

  - it didn't check for validity of id->eide_pio_modes and id->eide_pio_iordy
    before using them

  - it tried to found out maximum PIO mode basing on minimum IORDY cycle time
    (moreover wrong cycle times were used for PIO1/5)

  - it was overriding PIO blacklist and conservative PIO "downgrade" done
    by ide_get_best_pio_mode()

* use sis5513_tune_drive() instead of config_art_rwp_pio()
  in sis5513_config_xfer_rate() so the correct PIO mode is also set
  on drive even if the device is not IORDY/DMA capable

* config_art_rwp_pio() was always setting the best possible mode and not
  the wanted one - fix it and move ide_get_best_pio_mode() call to
  config_chipset_for_pio()

* don't use ide_find_best_mode() in config_chipset_for_pio(), it was being
  overriden by config_art_rwp_pio() for the host timings anyway + we need to
  set the same PIO mode on the device and the host

* pass correct "pio" argument (255 instead of 5) to sis5513_tune_drive() call
  in sis5513_config_xfer_rate() so the best PIO mode is set on the drive
  and not PIO4

* rename sis5513_tune_drive() to sis5513_tuneproc()
  and config_chipset_for_pio() to sis5513_tune_driver()

* bump driver version

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16 00:51:42 +02:00
..
arm [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
cris ide: add "initializing" argument to ide_register_hw() 2007-05-10 00:01:10 +02:00
h8300 ide: add "initializing" argument to ide_register_hw() 2007-05-10 00:01:10 +02:00
legacy ide: add ide_proc_register_port() 2007-05-10 00:01:11 +02:00
mips ide: add ide_proc_register_port() 2007-05-10 00:01:11 +02:00
pci sis5513: PIO mode setup fixes 2007-05-16 00:51:42 +02:00
ppc ide: add ide_proc_register_port() 2007-05-10 00:01:11 +02:00
Kconfig [S390] Kconfig: menus with depends on HAS_IOMEM. 2007-05-10 15:46:07 +02:00
Makefile ide: make /proc/ide/ optional 2007-05-10 00:01:09 +02:00
ide-acpi.c ide-acpi support warning fix 2007-02-07 18:19:42 +01:00
ide-cd.c ide: move IDE settings handling to ide-proc.c 2007-05-10 00:01:10 +02:00
ide-cd.h [PATCH] ide-cd: remove write-only cmd field from struct cdrom_info 2005-12-15 02:20:49 +01:00
ide-disk.c ide: move IDE settings handling to ide-proc.c 2007-05-10 00:01:10 +02:00
ide-dma.c ide: add ide_tune_dma() helper 2007-05-10 00:01:09 +02:00
ide-floppy.c ide: move IDE settings handling to ide-proc.c 2007-05-10 00:01:10 +02:00
ide-generic.c ide: add ide_proc_register_port() 2007-05-10 00:01:11 +02:00
ide-io.c ide: fix PIO setup on resume for ATAPI devices 2007-05-10 00:01:11 +02:00
ide-iops.c ide: cable detection fixes (take 2) 2007-05-10 00:01:10 +02:00
ide-lib.c ide: cable detection fixes (take 2) 2007-05-10 00:01:10 +02:00
ide-pnp.c ide: add "initializing" argument to ide_register_hw() 2007-05-10 00:01:10 +02:00
ide-probe.c ide: add ide_proc_register_port() 2007-05-10 00:01:11 +02:00
ide-proc.c ide: add ide_proc_register_port() 2007-05-10 00:01:11 +02:00
ide-tape.c ide: move IDE settings handling to ide-proc.c 2007-05-10 00:01:10 +02:00
ide-taskfile.c [PATCH] ide: add sanity checking to ide taskfile ioctl 2006-10-16 08:27:54 -07:00
ide-timing.h [PATCH] ide: actually honor drive's minimum PIO/DMA cycle times 2006-06-26 09:58:27 -07:00
ide.c ide: legacy PCI bus order probing fixes 2007-05-10 00:01:11 +02:00
setup-pci.c ide: legacy PCI bus order probing fixes 2007-05-10 00:01:11 +02:00