linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Nikitenko <jan.nikitenko@gmail.com>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org, linux-serial@vger.kernel.org
Subject: [PATCH] serial: fix au1xxx UART0 irq setup
Date: Thu, 25 Oct 2007 15:58:54 +0200	[thread overview]
Message-ID: <4720A11E.5060101@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1089 bytes --]

UART0 on Alchemy mips platforms (au1xxx) does not use real uart's hw
irq, causing 'ttyS0: 1 input overrun(s)' kernel message with data loss,
when more characters than uart's fifo size were to be received by the uart.

This problem can be experienced for example when uart0 is used as a
serial console on au1550 and more than 16 characters are pasted from
clipboard to the console.

The is_real_interrupt(irq) macro is defined in drivers/serial/8250.c as
a check, if the irq number is other than zero.
Because UART0 on au1xxx platforms uses irq number 0, the
is_real_interrupt() check fails and serial8250_backup_timeout() is used
instead of uart's hw irq.

The patch redefines the is_real_interrupt(irq) macro, as suggested in
the comment above the macro definition in 8250.c, in the
asm-mips/serial.h to be always true for CONFIG_SERIAL_8250_AU1X00.
This allows the irq number 0 to be used as hw irq for the alchemy uart0
and fixes the overrun problem.

Signed-off-by: Jan Nikitenko <jan.nikitenko@gmail.com>

---

 include/asm-mips/serial.h |    5 +++++
 1 file changed, 5 insertions(+)

[-- Attachment #2: serial-fix-au1xxx-uart0-irq-setup.patch --]
[-- Type: text/plain, Size: 355 bytes --]

diff --git a/include/asm-mips/serial.h b/include/asm-mips/serial.h
index c07ebd8..526bd2e 100644
--- a/include/asm-mips/serial.h
+++ b/include/asm-mips/serial.h
@@ -19,4 +19,9 @@
  */
 #define BASE_BAUD (1843200 / 16)
 
+#ifdef CONFIG_SERIAL_8250_AU1X00
+#undef is_real_interrupt
+#define is_real_interrupt(irq)  (1)
+#endif
+
 #endif /* _ASM_SERIAL_H */

             reply	other threads:[~2007-10-25 13:57 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-25 13:58 Jan Nikitenko [this message]
2007-10-25 14:09 ` [PATCH] serial: fix au1xxx UART0 irq setup Ralf Baechle
2007-10-25 14:47   ` Jan Nikitenko
2007-10-25 14:57   ` Maciej W. Rozycki
2007-10-25 16:41     ` Ralf Baechle
2007-10-25 14:09 ` Sergei Shtylyov
2007-10-29 15:28 ` Ralf Baechle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4720A11E.5060101@gmail.com \
    --to=jan.nikitenko@gmail.com \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).