From a77dcc437c1c3bc73887ecac8a304e4adcabb9b7 Mon Sep 17 00:00:00 2001 From: Bartlomiej Zolnierkiewicz Date: Mon, 2 Feb 2009 20:12:23 +0100 Subject: 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 Cc: Karl Auerbach Cc: Alan Cox Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz --- drivers/ide/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/ide/Makefile') diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile index c2b9c93f009..d0e3d7d5b46 100644 --- a/drivers/ide/Makefile +++ b/drivers/ide/Makefile @@ -43,6 +43,7 @@ obj-$(CONFIG_BLK_DEV_CMD64X) += cmd64x.o obj-$(CONFIG_BLK_DEV_CS5520) += cs5520.o obj-$(CONFIG_BLK_DEV_CS5530) += cs5530.o obj-$(CONFIG_BLK_DEV_CS5535) += cs5535.o +obj-$(CONFIG_BLK_DEV_CS5536) += cs5536.o obj-$(CONFIG_BLK_DEV_SC1200) += sc1200.o obj-$(CONFIG_BLK_DEV_CY82C693) += cy82c693.o obj-$(CONFIG_BLK_DEV_DELKIN) += delkin_cb.o -- cgit v1.2.3 From 6e5f1e1115bb041993f9f247036996364b4c84d5 Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Thu, 5 Mar 2009 16:10:58 +0100 Subject: ide: add at91_ide driver This is IDE host driver for AT91 (SAM9, CAP9, AT572D940HF) Static Memory Controller with Compact Flash True IDE Mode logic. Driver have to switch 8/16 bit bus width when accessing Task Tile or Data Register. Moreover some extra things need to be done when setting PIO mode. Only PIO mode is used, hardware have no DMA support. If interrupt line is connected through GPIO extra quirk is needed to cope with fake interrupts. Signed-off-by: Stanislaw Gruszka Cc: Andrew Victor Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz --- drivers/ide/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/ide/Makefile') diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile index d0e3d7d5b46..1c326d94aa6 100644 --- a/drivers/ide/Makefile +++ b/drivers/ide/Makefile @@ -116,3 +116,4 @@ obj-$(CONFIG_BLK_DEV_IDE_AU1XXX) += au1xxx-ide.o obj-$(CONFIG_BLK_DEV_IDE_TX4938) += tx4938ide.o obj-$(CONFIG_BLK_DEV_IDE_TX4939) += tx4939ide.o +obj-$(CONFIG_BLK_DEV_IDE_AT91) += at91_ide.o -- cgit v1.2.3