I Yixun, On 20/10/2017 10:32, Yixun Lan wrote: > Hi Greg-KH > > I think you've already accepted this patch (and merged into your git repo) > > so, is it possible for you to amend the commit message? or do you want me > to send a PATCH v3 then? I was not aware greg applied it, no need to amen anything, ignore my tag. Neil > > On 10:10 Fri 20 Oct , Neil Armstrong wrote: >> Hi Yixun, >> >> On 06/09/2017 15:52, Yixun Lan wrote: >>> This dirver try to implement the Magic SysRq support[1] for >>> Amlogic Inc's meson platfo >> >> Please fix these typos. >> > oops, not sure why this line is broken.. > > s/platfo/platform./ > and should squash next line . > >>> From the hardware perspective, the UART IP can't detect the 'BREAK' command >>> clearly via the status register. Instead, we rely on the combination of >>> 'FRAME_ERR bit && ch == 0', and it works fine. >>> >>> [1] Documentation/admin-guide/sysrq.rst >>> >>> Signed-off-by: Yixun Lan <dlan@xxxxxxxxxx> >>> >>> --- >>> Changes since v1 at [0]: >>> - add changelog & a few more comments >>> >>> [0] https://patchwork.kernel.org/patch/9728475/ >>> --- >>> drivers/tty/serial/meson_uart.c | 18 ++++++++++++++++-- >>> 1 file changed, 16 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c >>> index 42e4a4c7597f..3fea24bafd80 100644 >>> --- a/drivers/tty/serial/meson_uart.c >>> +++ b/drivers/tty/serial/meson_uart.c >>> @@ -14,6 +14,10 @@ >>> * >>> */ >>> >>> +#if defined(CONFIG_SERIAL_MESON_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) >>> +#define SUPPORT_SYSRQ >>> +#endif >>> + >>> #include <linux/clk.h> >>> #include <linux/console.h> >>> #include <linux/delay.h> >>> @@ -183,12 +187,12 @@ static void meson_receive_chars(struct uart_port *port) >>> { >>> struct tty_port *tport = &port->state->port; >>> char flag; >>> - u32 status, ch, mode; >>> + u32 ostatus, status, ch, mode; >>> >>> do { >>> flag = TTY_NORMAL; >>> port->icount.rx++; >>> - status = readl(port->membase + AML_UART_STATUS); >>> + ostatus = status = readl(port->membase + AML_UART_STATUS); >>> >>> if (status & AML_UART_ERR) { >>> if (status & AML_UART_TX_FIFO_WERR) >>> @@ -216,6 +220,16 @@ static void meson_receive_chars(struct uart_port *port) >>> ch = readl(port->membase + AML_UART_RFIFO); >>> ch &= 0xff; >>> >>> + if ((ostatus & AML_UART_FRAME_ERR) && (ch == 0)) { >>> + port->icount.brk++; >>> + flag = TTY_BREAK; >>> + if (uart_handle_break(port)) >>> + continue; >>> + } >>> + >>> + if (uart_handle_sysrq_char(port, ch)) >>> + continue; >>> + >>> if ((status & port->ignore_status_mask) == 0) >>> tty_insert_flip_char(tport, ch, flag); >>> >>> >> >> Reviewed-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> >> >> _______________________________________________ >> linux-amlogic mailing list >> linux-amlogic@xxxxxxxxxxxxxxxxxxx >> http://lists.infradead.org/mailman/listinfo/linux-amlogic > -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html