linux_dsm_epyc7002/drivers/tty/serial
Russell King 3af08bd7ad SERIAL: omap: fix hardware assisted flow control
When the UART device has hardware flow control enabled, it ignores the
MCR RTS bit in the MCR register, and keeps RTS asserted as long as we
continue to read characters from the UART receiver FIFO.  This means
that when the TTY buffers become full, the UART doesn't tell the remote
end to stop sending, which causes the TTY layer to start dropping
characters.

A similar problem exists with software flow control.  We need the FIFO
register to fill when software flow control is enabled to provoke the
UART to send the XOFF character.

Fix this by implementing the throttle/unthrottle callbacks, and use
these to disable receiver interrupts.  This in turn means that the UART
FIFO will fill, which will then cause the UART's hardware to deassert
the RTS signal and/or send the XOFF character, stopping the remote end.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-11-04 12:30:28 +00:00
..
8250 serial/8250_hp300: Missing 8250 register interface conversion bits 2012-10-15 13:26:14 -07:00
cpm_uart Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate 2012-09-26 13:39:39 -07:00
jsm TTY merge for 3.7-rc1 2012-10-01 12:26:52 -07:00
21285.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
68328serial.c TTY: use tty_port_link_device 2012-08-13 16:50:19 -07:00
altera_jtaguart.c Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-10-27 08:35:41 +02:00
altera_uart.c tty: serial: altera_uart: Use platform_{get,set}_drvdata 2012-09-05 12:33:39 -07:00
amba-pl010.c drivers/tty/serial/amba-pl0{10,11}.c: use clk_prepare_enable and clk_disable_unprepare 2012-09-05 12:33:39 -07:00
amba-pl011.c tty/serial/amba-pl011: Quiesce interrupts in poll_get_char 2012-09-26 13:51:32 -07:00
apbuart.c apbuart: fix section mismatch warning 2011-12-27 16:33:13 -05:00
apbuart.h
ar933x_uart.c SERIAL: AR933X: Add driver for the built-in UART of the SoC 2011-12-07 22:02:46 +00:00
atmel_serial.c tty/serial: atmel_serial: fix RS485 half-duplex problem 2012-04-09 10:30:39 -07:00
bcm63xx_uart.c serial: bcm63xx_uart: fix irq storm after rx fifo overrun. 2011-06-16 12:01:58 -07:00
bfin_sport_uart.c serial: bfin-sport-uart: Add tty ASYNC_CTS_FLOW flag to do CTS flow control. 2011-12-09 19:05:33 -08:00
bfin_sport_uart.h tty: bfin-sport-uart: Rx interrupt is not called always with irq disabled. 2011-12-09 19:05:33 -08:00
bfin_uart.c tty: move the termios object into the tty 2012-07-16 13:00:41 -07:00
clps711x.c ARM: clps711x: Using a single definition for the PHYS and VIRT registers offset 2012-05-11 16:18:01 +02:00
crisv10.c TTY: use tty_port_link_device 2012-08-13 16:50:19 -07:00
crisv10.h
dz.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
dz.h
efm32-uart.c serial/efm32: add new driver 2012-01-26 11:29:47 -08:00
icom.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
icom.h
ifx6x60.c Merge 3.6-rc3 into tty-next 2012-08-27 07:13:33 -07:00
ifx6x60.h serial: ifx6x60: minor cleanup 2011-02-17 11:16:15 -08:00
imx.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
ioc3_serial.c TTY: serial: move the dereference below the NULL test 2012-09-10 16:33:02 -07:00
ioc4_serial.c TTY: serial: move the dereference below the NULL test 2012-09-10 16:33:02 -07:00
ip22zilog.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ip22zilog.h
Kconfig serial: sccnxp: Allows the driver to be compiled as a module 2012-10-05 09:26:02 -07:00
kgdb_nmi.c tty/serial: Add kgdb_nmi driver 2012-09-26 13:52:36 -07:00
kgdboc.c KGDB/KDB fixes and cleanups 2012-10-13 11:16:58 +09:00
lantiq.c SERIAL: MIPS: lantiq: implement OF support 2012-05-21 14:31:54 +01:00
lpc32xx_hs.c serial: Add driver for LPC32xx High Speed UARTs 2012-06-12 15:48:01 -07:00
m32r_sio_reg.h m32r: relocate drivers back out of 8250 dir 2012-02-08 15:04:32 -08:00
m32r_sio.c m32r_sio: remove dependency on struct serial_uart_config 2012-09-05 13:15:07 -07:00
m32r_sio.h TTY: serial, include pci.h in m32r_sio 2012-03-08 11:47:02 -08:00
Makefile tty/serial: Add kgdb_nmi driver 2012-09-26 13:52:36 -07:00
max310x.c tty: serial: max310x: Remove explicit use of devm_kfree 2012-09-05 12:33:40 -07:00
max3100.c tty: serial: max3100: Fix error case 2012-09-17 04:45:29 -07:00
mcf.c TTY: irq: Remove IRQF_DISABLED 2011-09-22 16:08:57 -07:00
mfd.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
mpc52xx_uart.c ARM: soc: non-critical bug fixes 2012-10-01 18:02:07 -07:00
mpsc.c
mrst_max3110.c TTY: Remove redundant spi driver bus initialization 2011-11-26 20:19:21 -08:00
mrst_max3110.h max3110: add sysrq support 2011-08-26 11:01:15 -07:00
msm_serial_hs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
msm_serial.c msm_serial: fix clock rate on DMA-based uarts 2012-09-10 16:33:36 -07:00
msm_serial.h tty: remove invalid location line in file header 2011-04-19 16:33:36 -07:00
msm_smd_tty.c TTY: use tty_port_register_device 2012-08-13 16:50:19 -07:00
mux.c tty/serial/mux.c: linux/tty.h included twice 2012-02-24 13:50:45 -08:00
mxs-auart.c serial: mxs-auart: put the device in the error path 2012-09-11 12:21:33 -07:00
netx-serial.c tty: remove invalid location line in file header 2011-04-19 16:33:36 -07:00
nwpserial.c tty: Add export.h for EXPORT_SYMBOL/THIS_MODULE to exporters 2011-10-31 19:31:28 -04:00
of_serial.c serial/of-serial: Add LPC3220 standard UART compatible string 2012-07-26 13:37:02 -07:00
omap-serial.c SERIAL: omap: fix hardware assisted flow control 2012-11-04 12:30:28 +00:00
pch_uart.c pch_uart: check kzalloc result in dma_handle_tx() 2012-08-16 12:10:16 -07:00
pmac_zilog.c pmac_zilog,kdb: Fix console poll hook to return instead of loop 2012-08-16 12:20:20 -07:00
pmac_zilog.h tty/serial/pmac_zilog: Fix suspend & resume 2011-12-16 11:10:01 +11:00
pnx8xxx_uart.c
pxa.c serial: pxa: add spin lock for console write 2012-06-15 15:04:49 -07:00
sa1100.c ARM: 7342/2: sa1100: prepare for sparse irq conversion 2012-03-25 23:57:20 +01:00
samsung.c serial: samsung: Add poll_get_char & poll_put_char 2012-09-26 13:40:12 -07:00
samsung.h serial: samsung: merge probe() function from all SoC specific extensions 2011-12-23 10:07:00 +09:00
sb1250-duart.c SERIAL: MIPS Swarm sb1250-duart.c driver needs module.h 2012-05-15 17:48:50 +02:00
sc26xx.c serial: Add note about migration to driver SCCNXP 2012-09-05 13:24:40 -07:00
sccnxp.c tty: serial: sccnxp: Fix bug with unterminated platform_id list 2012-10-05 09:34:37 -07:00
serial_core.c SERIAL: core: add throttle/unthrottle callbacks for hardware assisted flow control 2012-11-04 11:25:56 +00:00
serial_ks8695.c serial: ks8695: use __iomem pointers for MMIO 2012-09-19 15:37:13 +02:00
serial_txx9.c serial: fix serial_txx9.c build warning/typo 2012-06-12 15:41:18 -07:00
sh-sci.c sh: Fix up more fallout from pointless ARM __iomem churn. 2012-10-15 14:08:48 +09:00
sh-sci.h serial: sh-sci: use serial_port_in/out vs sci_in/out. 2012-03-30 19:50:15 +09:00
sirfsoc_uart.c drivers/tty/serial/sirfsoc_uart.c: drop frees of devm_ alloc'd data 2012-09-05 12:41:57 -07:00
sirfsoc_uart.h serial/sirf: fixup for changes to pin control 2012-02-22 17:59:12 +01:00
sn_console.c Miscellaneous Itanium patches 2012-03-23 17:19:37 -07:00
suncore.c tty: sparc: rename drivers/tty/serial/suncore.h -> include/linux/sunserialcore.h 2012-02-10 10:44:35 -08:00
sunhv.c Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
sunsab.c Disintegrate asm/system.h for Sparc 2012-03-28 18:30:03 +01:00
sunsab.h
sunsu.c serial: diminish usage of struct serial_uart_config 2012-09-05 13:15:07 -07:00
sunzilog.c serial/sunzilog: fix keyboard on SUN SPARCstation 2012-04-04 00:37:10 -07:00
sunzilog.h
timbuart.c TTY: serial: convert drivers/tty/serial/* to use module_platform_driver() 2011-11-30 20:11:46 +09:00
timbuart.h
uartlite.c uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op 2012-07-19 10:39:42 -04:00
ucc_uart.c serial: Kill off NO_IRQ 2012-01-26 17:14:50 -08:00
vr41xx_siu.c serial: Kill off NO_IRQ 2012-01-26 17:14:50 -08:00
vt8500_serial.c serial: vt8500: Add devicetree support for vt8500-serial 2012-09-21 19:23:55 +12:00
xilinx_uartps.c tty: Add module.h to drivers/tty users who just expect it there. 2011-10-31 19:31:27 -04:00
zs.c SERIAL: MIPS DECstation zs.c driver needs module.h 2012-05-15 17:48:50 +02:00
zs.h