tty: serial: msm: Support sysrq on uartDM devices
authorStephen Boyd <sboyd@codeaurora.org>
Wed, 29 Oct 2014 18:14:38 +0000 (11:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Nov 2014 22:57:22 +0000 (14:57 -0800)
commit0896d4d4fb162297d7199410bae386a96a2e473b
treeebffcbccb557c513550bc73376f21fc29d57560b
parent660beb0e94ad81cfcb6b7846606c0378b0152064
tty: serial: msm: Support sysrq on uartDM devices

To properly support sysrq on uartDM hardware we need to properly
handle break characters. With the DM hardware the fifo can pack 4
characters at a time, where a break is indicated by an all zero
byte. Unfortunately, we can't differentiate between an all zero
byte for a break and an all zero byte of data, so try and do as
best we can. First unmask the RX break start interrupt and record
the interrupt when it arrives. Then while processing the fifo,
detect the break by searching for an all zero character as long
as we recently received an RX break start interrupt. This should
make sysrq work fairly well.

Cc: Frank Rowand <frank.rowand@sonymobile.com>
Cc: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/msm_serial.c
drivers/tty/serial/msm_serial.h