Files
linux/drivers/ide
Bartlomiej Zolnierkiewicz a77dcc437c ide: add CS5536 host driver (v3)
This is a port of libata's pata_cs5536.c (written by Martin K. Petersen)
to IDE subsystem.

Changes done while at it:

* Reprogram PIO/MWDMA timings if needed before and after DMA transfer
  (chipset uses shared PIO/MWDMA timings).

* Fix cable detection to report 80-wires cable if BIOS set it for any
  device on a port (IDE core will do drive-side cable detection later).

* Don't disable UDMA while programming PIO timings.

* Simplify PCI/MSR support.

Pros of having IDE host driver in addition to libata's one:

* IDE is much lighter than SCSI+libata, the host driver itself is also
  a bit smaller:

   text    data     bss     dec     hex filename
   1261     496       4    1761     6e1 drivers/ata/pata_cs5536.o
   1242     128       4    1374     55e drivers/ide/cs5536.o

* This allows use of IDE features which are unavailable under libata.

v2:
* Fixes per review from Sergei:
  - simplify dependency check in Kconfig
  - use IDE_DRV_MASK also for ->drive_data
  - disable UDMA when programming MWDMA
  - program new DTC timings only when necessary
  - fix printk() level in cs5536_init_one()

* Fix patch description according to comments from Alan and Sergei.

v3:
* Smarter masking of UDMA bits per Sergei's suggestion.

Cc: Martin K. Petersen <mkp@mkp.net>
Cc: Karl Auerbach <karl@iwl.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-02-02 20:12:23 +01:00
..
2009-01-06 17:20:52 +01:00
2009-01-06 17:20:55 +01:00
2009-01-06 17:20:52 +01:00
2009-02-02 20:12:23 +01:00
2009-01-06 17:20:52 +01:00
2009-01-19 13:46:56 +01:00
2009-01-06 17:20:52 +01:00
2008-11-27 12:38:11 +00:00
2009-01-06 17:20:53 +01:00
2008-11-09 21:35:36 +01:00
2009-01-06 17:20:53 +01:00
2009-01-14 19:19:04 +01:00
2008-07-23 19:55:57 +02:00
2009-01-06 17:20:56 +01:00
2009-01-06 17:20:56 +01:00
2009-01-06 17:20:52 +01:00
2008-11-02 21:40:08 +01:00
2009-02-02 20:12:23 +01:00
2008-12-28 20:00:03 +01:00
2009-02-02 20:12:23 +01:00
2009-01-06 17:20:52 +01:00
2009-01-06 17:21:01 +01:00
2009-01-06 17:20:52 +01:00
2009-01-06 17:20:53 +01:00
2008-10-26 09:35:05 -07:00
2009-01-06 17:20:52 +01:00
2009-01-06 17:20:52 +01:00
2009-01-14 19:19:03 +01:00
2009-01-06 17:20:52 +01:00
2009-01-06 17:20:52 +01:00
2009-01-06 17:20:52 +01:00