111-serial-imx-fix-polarity-of-RI.patch 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. From 9a061cea4477f26a1dfcc0a08dc20575016e91df Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
  3. Date: Thu, 24 Mar 2016 14:24:20 +0100
  4. Subject: [PATCH 1/3] serial: imx: fix polarity of RI
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. When in DTE mode, the bit USR2_RIIN is active low. So invert the logic
  9. accordingly.
  10. Fixes: 90ebc4838666 ("serial: imx: repair and complete handshaking")
  11. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  12. Signed-off-by: Petr Štetiar <ynezz@true.cz>
  13. ---
  14. drivers/tty/serial/imx.c | 6 +++---
  15. 1 file changed, 3 insertions(+), 3 deletions(-)
  16. --- a/drivers/tty/serial/imx.c
  17. +++ b/drivers/tty/serial/imx.c
  18. @@ -817,9 +817,9 @@ static unsigned int imx_get_mctrl(struct
  19. if (!(usr1 & USR2_DCDIN))
  20. tmp |= TIOCM_CAR;
  21. - /* in DCE mode RIIN is always 0 */
  22. - if (readl(sport->port.membase + USR2) & USR2_RIIN)
  23. - tmp |= TIOCM_RI;
  24. + if (sport->dte_mode)
  25. + if (!(readl(sport->port.membase + USR2) & USR2_RIIN))
  26. + tmp |= TIOCM_RI;
  27. return tmp;
  28. }