OpenCloudOS-Kernel/drivers/ata
Shaohui Xie 100f586bd0 sata_fsl: add workaround for data length mismatch on freescale V2 controller
The freescale V2 SATA controller checks if the received data length matches
the programmed length 'ttl', if not, it assumes that this is an error.
In ATAPI, the 'ttl' is based on max allocation length and not the actual
data transfer length, controller will raise 'DLM' (Data length Mismatch)
error bit in Hstatus register. Along with 'DLM', DE (Device error) and
FE (fatal Error) bits are also set in Hstatus register, 'E' (Internal Error)
bit is set in Serror register and CE (Command Error) and DE (Device error)
registers have the corresponding bit set. In this condition, we need to
clear errors in following way: in the service routine, based on 'DLM' flag,
HCONTROL[27] operation clears Hstatus, CE and DE registers, clear Serror
register.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Anju Bhartiya <Anju.Bhartiya@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2012-09-13 01:09:19 -04:00
..
Kconfig [libata] Kconfig: Elaborate that SFF is meant for legacy and PATA stuff 2012-08-17 13:31:18 -04:00
Makefile PATA host controller driver for ep93xx 2012-05-22 16:02:34 -04:00
acard-ahci.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
ahci.c ahci: Add Device IDs for Intel Lynx Point-LP PCH 2012-08-17 13:26:59 -04:00
ahci.h ahci: implement aggressive SATA device sleep support 2012-09-13 01:08:53 -04:00
ahci_platform.c ahci_platform: add hibernation callbacks 2012-07-25 15:31:08 -04:00
ata_generic.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
ata_piix.c ata_piix: Add Device IDs for Intel Lynx Point-LP PCH 2012-08-17 13:27:22 -04:00
libahci.c ahci: implement aggressive SATA device sleep support 2012-09-13 01:08:53 -04:00
libata-acpi.c [libata] acpi: call ata_acpi_gtm during ata port init time 2012-08-17 13:29:27 -04:00
libata-core.c ahci: implement aggressive SATA device sleep support 2012-09-13 01:08:53 -04:00
libata-eh.c ahci: implement aggressive SATA device sleep support 2012-09-13 01:08:53 -04:00
libata-pmp.c libata: migrate ACPI code over to new bindings 2012-06-29 11:38:11 -04:00
libata-scsi.c [libata] scsi: implement MODE SELECT command 2012-08-17 14:10:36 -04:00
libata-sff.c ata: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:16 +08:00
libata-transport.c libata-transport.c: local functions should not be exposed globally 2012-07-25 15:14:55 -04:00
libata-transport.h [libata] Add ATA transport class 2010-10-21 20:21:03 -04:00
libata.h ahci: implement aggressive SATA device sleep support 2012-09-13 01:08:53 -04:00
pata_acpi.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_ali.c pata_ali: fix "Satelite" typo 2011-10-14 13:10:42 -04:00
pata_amd.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_arasan_cf.c ata/pata_arasan: remove conditional compilation of clk code 2012-07-30 17:25:12 -07:00
pata_artop.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_at32.c libata: remove ATA_FLAG_MMIO 2011-03-02 02:36:46 -05:00
pata_at91.c pata/at91: use newly introduced SMC accessors 2012-02-13 18:31:37 +01:00
pata_atiixp.c pata_atiixp: override cable detection on MSI E350DM-E33 2012-08-17 13:26:51 -04:00
pata_atp867x.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_bf54x.c [libata] pata_bf54x: Support sg list in bmdma transfer. 2012-01-17 20:49:28 -05:00
pata_cmd64x.c [libata] pata_cmd64x: whitespace cleanup 2012-07-25 16:07:40 -04:00
pata_cmd640.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_cs5520.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_cs5530.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_cs5535.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_cs5536.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_cypress.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_efar.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_ep93xx.c PATA host controller driver for ep93xx 2012-05-22 16:02:34 -04:00
pata_hpt3x2n.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_hpt3x3.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_hpt37x.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_hpt366.c ata: use module_pci_driver 2012-07-25 15:12:11 -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 pata_imx: Convert to clk_prepare_enable/clk_disable_unprepare 2012-07-25 15:05:43 -04:00
pata_isapnp.c [libata] Improve timeout handling 2009-03-24 22:52:39 -04:00
pata_it821x.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_it8213.c ata: use module_pci_driver 2012-07-25 15:12:11 -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 ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_legacy.c pata_legacy: correctly mask recovery field for HT6560B 2012-03-13 12:43:13 -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 ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_mpc52xx.c drivers/ata/pata_mpc52xx.c: clean up error handling code 2012-03-13 16:41:08 -04:00
pata_mpiix.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_netcell.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_ninja32.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_ns87410.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_ns87415.c ata: use module_pci_driver 2012-07-25 15:12:11 -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: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_opti.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_optidma.c ata: use module_pci_driver 2012-07-25 15:12:11 -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 drivers/ata/pata_pcmcia.c: adjust suspicious bit operation 2012-07-25 15:06:20 -04:00
pata_pdc202xx_old.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_pdc2027x.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_piccolo.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
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: use module_pci_driver 2012-07-25 15:12:11 -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 ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_rz1000.c ata: use module_pci_driver 2012-07-25 15:12:11 -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 ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_scc.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_sch.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_serverworks.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_sil680.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_sis.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_sl82c105.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_triflex.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pata_via.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
pdc_adma.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_dwc_460ex.c sata_dwc_460ex: device tree may specify dma_channel 2012-07-25 15:54:21 -04:00
sata_fsl.c sata_fsl: add workaround for data length mismatch on freescale V2 controller 2012-09-13 01:09:19 -04:00
sata_inic162x.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_mv.c ATA: sata_mv: Add device tree support 2012-07-27 16:48:45 +02:00
sata_nv.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_promise.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_promise.h libata annotations and fixes 2008-01-23 05:24:15 -05:00
sata_qstor.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_sil.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_sil24.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_sis.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_svw.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_sx4.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_uli.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_via.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sata_vsc.c ata: use module_pci_driver 2012-07-25 15:12:11 -04:00
sis.h libata: PATA-mode fixes for sis_sata 2007-07-02 10:17:42 -04:00