2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-24 05:04:00 +08:00
linux-next/arch/arm
Santosh Shilimkar e03d37d859 omap3/4: uart: fix full-fifo write abort
This patch is addition to the already merged commit on non-empty
uart fifo read abort. "ce13d4716a276f4331d78ba28a5093a63822ab95"

OMAP3630 and OMAP4430 UART IP blocks have a restriction on TX FIFO
too. If you try to write to the tx fifo when it is full, the system aborts.

More details on this thread are here:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg19447.html

This can be easily reproducible by not suppressing interconnect errors or
long duration testing where continuous prints over console from multiple
threads. This patch is addressing the issue by ensuring that write is
not issued while fifo is full. A timeout is added to avoid any hang
on fifo-full for 10 mS which is unlikely case.

Patch is validated on OMAP3630 and OMAP4 SDP.

V2 version removed the additional 1 uS on every TX as per
Tony's suggestion

Signed-off-by: Woodruff Richard <r-woodruff2@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: Ghorai Sukumar <s-ghorai@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-23 10:57:40 -08:00
..
boot ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
common ARM: 5857/1: ARM: dmabounce: fix build 2009-12-22 15:32:32 +00:00
configs OMAP3EVM: PM: Update defconfig 2010-02-19 15:22:17 -08:00
include/asm ARM: 5888/1: arm: Update comments in cacheflush.h and remove unnecessary V6 and V7 comments 2010-01-19 23:11:56 +00:00
kernel ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
lib Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 2009-09-19 13:47:57 +01:00
mach-aaec2000 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-at91 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-bcmring Merge git://git.infradead.org/mtd-2.6 2009-12-16 10:23:43 -08:00
mach-clps711x ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-davinci Merge branch 'debug-ll' into omap-for-linus 2010-02-15 09:26:07 -08:00
mach-dove ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ebsa110 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ep93xx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-footbridge ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-gemini ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-h720x ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-integrator ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-iop13xx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-iop32x ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-iop33x ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ixp4xx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ixp23xx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ixp2000 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-kirkwood Merge branch 'debug-ll' into omap-for-linus 2010-02-15 09:26:07 -08:00
mach-ks8695 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-l7200 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-lh7a40x ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-loki ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-mmp ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-msm ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-mv78xx0 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-mx1 ARM: mxc: Fix i2c_board_info definitions 2009-08-14 12:40:37 +02:00
mach-mx2 mx27: mxt_td60: Remove not used UART pins 2010-01-04 11:47:43 +01:00
mach-mx3 mx31ads: Provide an IRQ range to the WM835x on the 1133-EV1 module 2010-01-05 17:08:54 +01:00
mach-mx25 mx25: make the FEC AHB clk secondary of the IPG 2010-01-26 18:54:41 +01:00
mach-mxc91231 MXC: add iomux pins configuration support for MXC91231 2009-08-14 12:40:47 +02:00
mach-netx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-nomadik ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ns9xxx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-omap1 omap1: mailbox: kill compile warning 2010-02-15 10:03:33 -08:00
mach-omap2 omap3/4: uart: fix full-fifo write abort 2010-02-23 10:57:40 -08:00
mach-orion5x Merge branch 'debug-ll' into omap-for-linus 2010-02-15 09:26:07 -08:00
mach-pnx4008 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-pxa Merge branch 'debug-ll' into omap-for-linus 2010-02-15 09:26:07 -08:00
mach-realview Merge branch 'debug-ll' into omap-for-linus 2010-02-15 09:26:07 -08:00
mach-rpc ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-s3c24a0/include/mach ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-s3c2400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-s3c2410 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-s3c2412 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-s3c2440 ARM: MINI2440: Fixup __initdata usage 2010-01-15 17:04:42 +09:00
mach-s3c2442 Merge git://git.infradead.org/battery-2.6 2009-12-15 08:59:33 -08:00
mach-s3c2443 Kconfig: Remove useless and sometimes wrong comments 2009-11-09 09:40:56 +01:00
mach-s3c6400 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-s3c6410 hmt: adjust for new pwm_backlight->notify prototype 2010-01-22 09:58:17 +09:00
mach-s5pc100 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-sa1100 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-shark ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-stmp37xx [ARM] 5539/1: Freescale STMP: onboard devices declaration 2009-06-04 14:16:45 +01:00
mach-stmp378x [ARM] 5539/1: Freescale STMP: onboard devices declaration 2009-06-04 14:16:45 +01:00
mach-u300 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ux500 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-versatile ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-w90x900 ARM: 5864/1: Implement arch_reset() in NUC900 2010-01-05 20:52:45 +00:00
mm ARM: Fix wrong register in proc-arm6_7.S data abort handler 2010-02-03 15:48:03 +00:00
nwfpe ARM: Kill CONFIG_CPU_32 2009-12-18 16:07:53 +00:00
oprofile ARM: 5849/1: ARMv7: fix Oprofile events count 2009-12-22 15:32:31 +00:00
plat-iop iop: implement sched_clock() 2009-10-29 11:46:56 -07:00
plat-mxc Merge branch 'debug-ll' into omap-for-linus 2010-02-15 09:26:07 -08:00
plat-nomadik ARM: 5833/1: ARM nomadik: enable U8500 for common platform 2009-11-28 10:22:53 +00:00
plat-omap McBSP: OMAP3: Add sidetone feature 2010-02-23 10:57:39 -08:00
plat-orion [ARM] Orion: fix PCIe inbound window programming when RAM size is not a power of two 2009-12-28 23:50:49 -05:00
plat-pxa [ARM] pxa: use resource_size() in pwm.c 2009-12-29 14:11:27 +08:00
plat-s3c ARM: S3C: NAND: Check the existence of nr_map before copying 2010-01-14 11:25:44 +09:00
plat-s3c24xx ARM: S3C24XX: touchscreen device definition 2009-12-23 19:28:12 +00:00
plat-s3c64xx ARM: S3C64XX: Fix possible clock look in EPLL and MPLL clock chains 2010-01-07 11:34:51 +09:00
plat-s5pc1xx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
plat-samsung ARM: SAMSUNG: Add plat-samsung as starting point for plat-s3c* moves 2009-12-01 01:28:37 +00:00
plat-stmp3xxx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
tools [ARM] Update mach-types 2010-01-28 22:17:45 +00:00
vfp ARM: 5909/1: ARM: Correct the FPSCR bits setting when raising exceptions 2010-02-01 20:05:09 +00:00
Kconfig ARCH OMAP : enable ARCH_HAS_HOLES_MEMORYMODEL for OMAP 2010-02-03 08:48:06 -08:00
Kconfig-nommu
Kconfig.debug Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel 2009-12-13 16:35:09 +00:00
Makefile ARM: 5904/1: ARM: Always generate the IT instruction when compiling for Thumb-2 2010-01-30 16:13:23 +00:00