To avoid "too much work for irq" issue, cherry pick the the patch. It reads the RBR to clear the time out interrupt, but sometime the rx fifo may be not empty while cpu reads the RBR. Which would cause the data lost. patch for "too much work":06451e93ab59e5b1843c29cbb468a274f4919563 By the way, current patch can't get rid of the risk entirely, so I try a lot to solve it. Unfortunately, I only got the phenomenon that lower pclk can reduce the probability. And I check the dw data sheet, it has pclk and sclk, so there is synchronization problem. But it only requires (slck < 4*pclk). Change-Id: I01a36c689b43310294c45294abcf4982f5ddf2af Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com> |
||
|---|---|---|
| .. | ||
| hvc | ||
| ipwireless | ||
| serial | ||
| vt | ||
| amiserial.c | ||
| bfin_jtag_comm.c | ||
| cyclades.c | ||
| ehv_bytechan.c | ||
| goldfish.c | ||
| isicom.c | ||
| Kconfig | ||
| Makefile | ||
| metag_da.c | ||
| mips_ejtag_fdc.c | ||
| moxa.c | ||
| moxa.h | ||
| mxser.c | ||
| mxser.h | ||
| n_gsm.c | ||
| n_hdlc.c | ||
| n_r3964.c | ||
| n_tracerouter.c | ||
| n_tracesink.c | ||
| n_tracesink.h | ||
| n_tty.c | ||
| nozomi.c | ||
| pty.c | ||
| rocket.c | ||
| rocket.h | ||
| rocket_int.h | ||
| synclink.c | ||
| synclink_gt.c | ||
| synclinkmp.c | ||
| sysrq.c | ||
| tty_audit.c | ||
| tty_buffer.c | ||
| tty_io.c | ||
| tty_ioctl.c | ||
| tty_ldisc.c | ||
| tty_ldsem.c | ||
| tty_mutex.c | ||
| tty_port.c | ||