linux/drivers/ata
Sergei Shtylyov 909fefc251 pata_bf54x: fix BMIDE status register emulation
The author of this driver clearly wasn't familiar with the BMIDE specification
(also known as SFF-8038i) when he implemented the bmdma_status() method: first,
the interrupt bit of the BMIDE status register corresponds to nothing else but
INTRQ signal (ATAPI_DEV_INT here); second, the error bit is only set if the
controller encounters issue doing the bus master transfers, not on the IDE DMA
burst termination interrupts like here (moreover, setting the error bit doesn't
cause an interrupt).  We now need to disable all those unused interrupts...

(The only thing I couldn't figure out is how to flush the FIFO to memory once
the interrupt happens as required by the mentioned spec.)

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2012-01-08 19:24:02 -05:00
..
acard-ahci.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
ahci_platform.c ahci: platform support for suspend/resume 2012-01-08 19:14:59 -05:00
ahci.c [libata] ahci: Add ASMedia ASM1061 support 2011-11-09 01:47:36 -05:00
ahci.h ahci: move ahci_sb600_softreset to libahci.c and rename it 2011-07-23 17:57:36 -04:00
ata_generic.c ata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level> 2011-07-23 17:57:36 -04:00
ata_piix.c ata_piix: unify code for programming PIO and MWDMA timings 2011-10-14 13:37:36 -04:00
Kconfig pata_of_platform: remove direct dependency on OF_IRQ 2012-01-08 19:14:58 -05:00
libahci.c ahci: start engine only during soft/hard resets 2012-01-08 19:14:57 -05:00
libata-acpi.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-08-02 21:17:02 -10:00
libata-core.c ata: add ata port hibernate callbacks 2012-01-08 19:14:59 -05:00
libata-eh.c [libata] Issue SRST to Sil3726 PMP 2011-11-09 01:38:00 -05:00
libata-pmp.c [libata] Issue SRST to Sil3726 PMP 2011-11-09 01:38:00 -05:00
libata-scsi.c ata: add ata port runtime PM callbacks 2012-01-08 19:14:58 -05:00
libata-sff.c libata-sff: use ATAPI_{COD|IO} 2012-01-08 19:14:58 -05:00
libata-transport.c ata: add ata port runtime PM callbacks 2012-01-08 19:14:58 -05:00
libata-transport.h
libata.h ata: add ata port system PM callbacks 2012-01-08 19:14:58 -05:00
Makefile libata: remove no longer needed pata_qdi driver 2011-10-14 13:25:24 -04:00
pata_acpi.c ata: remove unnecessary code 2011-07-23 18:07:27 -04:00
pata_ali.c pata_ali: fix "Satelite" typo 2011-10-14 13:10:42 -04:00
pata_amd.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_arasan_cf.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_artop.c pata_artop: add Power Management support 2011-10-14 13:32:54 -04:00
pata_at32.c
pata_at91.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_atiixp.c pata_atiixp: add proper ->prereset method 2011-10-14 13:16:49 -04:00
pata_atp867x.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_bf54x.c pata_bf54x: fix BMIDE status register emulation 2012-01-08 19:24:02 -05:00
pata_cmd64x.c pata_cmd64x: documentation fix 2011-10-14 13:10:46 -04:00
pata_cmd640.c
pata_cs5520.c ata: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2011-07-23 17:57:36 -04:00
pata_cs5530.c
pata_cs5535.c pata_cs5535: no need to program PIO0 timings during device init 2011-10-14 13:08:05 -04:00
pata_cs5536.c pata_cs5536: forward port changes from cs5536 2012-01-08 19:14:58 -05:00
pata_cypress.c
pata_efar.c pata_efar: fix register naming used in efar_set_piomode() 2011-10-14 13:38:40 -04:00
pata_hpt3x2n.c
pata_hpt3x3.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_hpt37x.c
pata_hpt366.c pata_hpt366: add hpt36x_find_mode() helper 2011-10-14 13:07:18 -04:00
pata_icside.c ata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level> 2011-07-23 17:57:36 -04:00
pata_imx.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_isapnp.c
pata_it821x.c pata_it821x: Fix RAID type display, by adding missing comma 2011-07-23 18:04:25 -04:00
pata_it8213.c pata_it8213: fix register naming used in it8213_set_piomode() 2011-10-14 13:25:17 -04:00
pata_ixp4xx_cf.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_jmicron.c
pata_legacy.c pata_legacy: use PIO mask defines 2011-10-14 13:27:23 -04:00
pata_macio.c ata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level> 2011-07-23 17:57:36 -04:00
pata_marvell.c pata_marvell: Add support for 88SE91A0, 88SE91A4 2011-06-24 02:07:35 -04:00
pata_mpc52xx.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_mpiix.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_netcell.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_ninja32.c
pata_ns87410.c ata: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2011-07-23 17:57:36 -04:00
pata_ns87415.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_octeon_cf.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_of_platform.c pata_of_platform: remove direct dependency on OF_IRQ 2012-01-08 19:14:58 -05:00
pata_oldpiix.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_opti.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_optidma.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_palmld.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_pcmcia.c ata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level> 2011-07-23 17:57:36 -04:00
pata_pdc202xx_old.c
pata_pdc2027x.c pata_pdc2027x: add Power Management support 2011-10-14 13:32:52 -04:00
pata_piccolo.c
pata_platform.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_pxa.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_radisys.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_rb532_cf.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
pata_rdc.c pata_rdc: add Power Management support 2011-10-14 13:38:36 -04:00
pata_rz1000.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_samsung_cf.c ata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level> 2011-07-23 17:57:36 -04:00
pata_sc1200.c pata_sc1200: do not use c99 style comments 2011-10-14 13:01:42 -04:00
pata_scc.c pata_scc: add proper cable detection method 2011-10-14 13:19:51 -04:00
pata_sch.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_serverworks.c pata_serverworks: add serverworks_fixup() 2011-10-14 13:16:35 -04:00
pata_sil680.c pata_sil680: minor CodingStyle fixups 2011-10-14 12:46:45 -04:00
pata_sis.c pata_sis: code style cleanups for consistency 2011-10-08 00:07:16 -04:00
pata_sl82c105.c pata_sl82c105: add Power Management support 2011-10-14 13:32:53 -04:00
pata_triflex.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
pata_via.c pata_via: add via_fixup() 2011-10-14 13:22:54 -04:00
pdc_adma.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_dwc_460ex.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
sata_fsl.c SATA/PATA: convert drivers/ata/* to use module_platform_driver() 2012-01-08 19:14:58 -05:00
sata_inic162x.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_mv.c sata_mv: use {platform|pci}_get_drvdata() 2011-10-07 23:46:20 -04:00
sata_nv.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_promise.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_promise.h
sata_qstor.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_sil24.c sata_sil24: Use const 2011-10-08 00:07:15 -04:00
sata_sil.c [libata] sata_sil: fix used-uninit warning 2011-08-18 23:52:36 -04:00
sata_sis.c sata_sis.c: trivial spelling fix 2011-11-09 01:36:49 -05:00
sata_svw.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_sx4.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_uli.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sata_via.c ata: sata_via: Use dev_dbg 2011-07-23 17:57:36 -04:00
sata_vsc.c ata: Add and use ata_print_version_once 2011-07-23 17:57:36 -04:00
sis.h