linux/drivers/serial
Haavard Skinnemoen 6bb0e3a59a Subject: [PATCH 1/2] serial: Add flush_buffer() operation to uart_ops
Serial drivers using DMA (like the atmel_serial driver) tend to get very
confused when the xmit buffer is flushed and nobody told them.  They
also tend to spew a lot of garbage since the DMA engine keeps running
after the buffer is flushed and possibly refilled with unrelated data.

This patch adds a new flush_buffer operation to the uart_ops struct,
along with a call to it from uart_flush_buffer() right after the xmit
buffer has been cleared. The driver can implement this in order to
syncronize its internal DMA state with the xmit buffer when the buffer
is flushed.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20 17:12:34 -07:00
..
cpm_uart cpm_uart: Support uart_wait_until_sent() 2008-07-14 07:55:38 -05:00
jsm jsm: add new supported board to jsm serial driver 2008-05-01 08:04:01 -07:00
8250_accent.c
8250_acorn.c [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
8250_boca.c
8250_early.c 8250: switch 8250 drivers to use _nocache ioremaps 2008-05-01 08:04:00 -07:00
8250_exar_st16c554.c
8250_fourport.c
8250_gsc.c 8250_gsc: coding style 2008-02-08 09:22:25 -08:00
8250_hp300.c 8250_hp300: coding style 2008-02-08 09:22:25 -08:00
8250_hub6.c 8250_hub6: codding style 2008-02-08 09:22:25 -08:00
8250_mca.c
8250_pci.c serial: support for InstaShield IS-400 four port RS-232 PCI card 2008-05-24 09:56:09 -07:00
8250_pnp.c PNP: add pnp_possible_config() -- can a device could be configured this way? 2008-07-16 23:27:06 +02:00
8250.c serial8250: sanity check nr_uarts on all paths. 2008-07-12 14:33:41 -07:00
8250.h 8250 Serial Driver: revert extra IRQ flag definition patch 2008-05-31 16:10:04 +08:00
21285.c [ARM] 21285 serial: fix build error 2008-02-04 13:14:06 +00:00
68328serial.c serial m68k: put_char returns 2008-04-30 08:29:45 -07:00
68328serial.h
68360serial.c serial: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
amba-pl010.c [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking 2007-06-05 19:39:49 +01:00
amba-pl011.c kgdb: kgdboc pl011 I/O module 2008-04-17 20:05:39 +02:00
atmel_serial.c atmel_serial: Drain console TX shifter before suspending 2008-07-02 11:05:00 +02:00
bfin_5xx.c Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. 2008-06-19 17:46:39 +08:00
bfin_sport_uart.c Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART 2008-04-30 08:29:30 -07:00
bfin_sport_uart.h Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART 2008-04-30 08:29:30 -07:00
clps711x.c
crisv10.c cris: Fix compile failure due to typo in serial driver 2008-05-12 07:27:38 -07:00
crisv10.h CRISv10 serial driver rewrite 2007-11-14 18:45:46 -08:00
dz.c dz: test after postfix decrement fails in dz_console_putchar() 2008-04-28 08:58:16 -07:00
dz.h dz: clean up and improve the setup of termios settings 2008-02-07 08:42:24 -08:00
icom.c kobject: convert icom to use kref, not kobject 2008-01-24 20:40:09 -08:00
icom.h Coding style fix drivers/serial/icom.h 2008-02-03 14:47:38 +02:00
imx.c MX2 add support for mx2 in i.MX serial driver 2008-07-05 10:02:58 +02:00
ioc3_serial.c serial: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
ioc4_serial.c serial: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
ip22zilog.c IP22ZILOG: fix lockup and sysrq 2007-11-29 09:24:53 -08:00
ip22zilog.h
Kconfig Merge branch 'imx' into devel 2008-07-10 16:41:50 +01:00
kgdboc.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
m32r_sio_reg.h
m32r_sio.c drivers/serial/m32r_sio.c: correct use of ! and & 2008-03-04 16:35:16 -08:00
m32r_sio.h m32r: serial: remove M32R_SIO_SHARE_IRQS 2007-10-16 09:43:04 -07:00
Makefile [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
mcf.c serial: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
mcfserial.c m68knommu: add info about removing mcfserial 2008-05-14 19:11:12 -07:00
mcfserial.h
mpc52xx_uart.c Fix a potential issue in mpc52xx uart driver 2008-05-01 11:59:12 -06:00
mpsc.c serial: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
mux.c drivers/serial/: Spelling fixes 2008-02-03 17:29:25 +02:00
netx-serial.c tty/serial: lay the foundations for the next set of reworks 2008-04-30 08:29:45 -07:00
of_serial.c of_serial: Use linux/of_platform.h instead of asm 2008-06-09 13:46:37 +10:00
pmac_zilog.c [POWERPC] Optionally use new device number for pmac_zilog 2007-09-22 14:49:21 +10:00
pmac_zilog.h
pnx8xxx_uart.c serial: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
pxa.c serial: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
s3c2400.c [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
s3c2410.c [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
s3c2412.c [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
s3c2440.c [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
sa1100.c serial: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
samsung.c [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
samsung.h [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
sb1250-duart.c serial: fix driver_name conflicts 2008-06-06 11:29:09 -07:00
sc26xx.c serial: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
serial_core.c Subject: [PATCH 1/2] serial: Add flush_buffer() operation to uart_ops 2008-07-20 17:12:34 -07:00
serial_cs.c pcmcia: replace kio_addr_t with unsigned int everywhere 2008-02-05 09:44:08 -08:00
serial_ks8695.c [ARM] 4411/1: KS8695: Another serial driver fix 2007-05-30 13:15:19 +01:00
serial_lh7a40x.c
serial_txx9.c serial: fix serial_txx9 console initialization 2007-10-30 08:06:55 -07:00
sh-sci.c sh: use the common ascii hex helpers 2008-05-16 15:09:08 +09:00
sh-sci.h sh-sci: avoid writing to nonexistent registers 2008-05-08 19:51:59 +09:00
sn_console.c serial: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
suncore.c [SERIAL]: Fix section mismatches in Sun serial console drivers. 2007-12-29 01:19:49 -08:00
suncore.h [SERIAL] sparc: Infrastructure to fix section mismatch bugs. 2007-12-12 07:36:34 -08:00
sunhv.c sunhv: Fix locking in non-paged I/O case. 2008-05-20 23:42:09 -07:00
sunsab.c serial: Fix sparc driver name strings. 2008-05-02 05:22:51 -07:00
sunsab.h
sunsu.c serial: Fix sparc driver name strings. 2008-05-02 05:22:51 -07:00
sunzilog.c serial: Fix sparc driver name strings. 2008-05-02 05:22:51 -07:00
sunzilog.h [SERIAL] sunzilog: Interrupt enable before ISR handler installed 2007-05-09 13:49:04 -07:00
uartlite.c serial: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
ucc_uart.c serial: fix driver_name conflicts 2008-06-06 11:29:09 -07:00
v850e_uart.c
vr41xx_siu.c serial: add vr41xx_siu_early_setup() for serial console 2008-04-28 08:58:30 -07:00
zs.c zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
zs.h zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00