From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Kevin Hilman <khilman@deeprootsystems.com>, linux-omap@vger.kernel.org
Subject: Re: [PATCH 9/9] omap: Disable serial port autoidle by default
Date: Tue, 2 Feb 2010 19:43:22 -0800 [thread overview]
Message-ID: <20100203034322.GZ22747@atomide.com> (raw)
In-Reply-To: <20100203022618.26347.51428.stgit@baageli.muru.com>
[-- Attachment #1: Type: text/plain, Size: 798 bytes --]
* Tony Lindgren <tony@atomide.com> [100202 18:23]:
> Currently the omap serial clocks are autoidled after 5 seconds.
> However, this causes lost characters on the serial ports. As this
> is considered non-standard behaviour for Linux, disable the timeout.
>
> Note that this will also cause blocking of any deeper omap sleep
> states.
>
> To enable the autoidling of the serial ports, do something like
> this for each serial port:
>
> # echo 5 > /sys/devices/platform/serial8250.0/sleep_timeout
> # echo 5 > /sys/devices/platform/serial8250.1/sleep_timeout
> ...
Turns out we also need to disable the timer in init, otherwise
the very first character after boot can get corrupt.
Updated version below, Kevin can you take one more look and see
if your S-O-B is still valid? :)
Regards,
Tony
[-- Attachment #2: fix-8250-timeout --]
[-- Type: text/plain, Size: 1866 bytes --]
>From ff7ce25ec59223bf987ad209c1eb183031811c07 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Mon, 1 Feb 2010 12:34:31 -0800
Subject: [PATCH] omap: Disable serial port autoidle by default
Currently the omap serial clocks are autoidled after 5 seconds.
However, this causes lost characters on the serial ports. As this
is considered non-standard behaviour for Linux, disable the timeout.
Note that this will also cause blocking of any deeper omap sleep
states.
To enable the autoidling of the serial ports, do something like
this for each serial port:
# echo 5 > /sys/devices/platform/serial8250.0/sleep_timeout
# echo 5 > /sys/devices/platform/serial8250.1/sleep_timeout
...
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 8c964be..e10a02d 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -36,7 +36,13 @@
#define UART_OMAP_NO_EMPTY_FIFO_READ_IP_REV 0x52
#define UART_OMAP_WER 0x17 /* Wake-up enable register */
-#define DEFAULT_TIMEOUT (5 * HZ)
+/*
+ * NOTE: By default the serial timeout is disabled as it causes lost characters
+ * over the serial ports. This means that the UART clocks will stay on until
+ * disabled via sysfs. This also causes that any deeper omap sleep states are
+ * blocked.
+ */
+#define DEFAULT_TIMEOUT 0
struct omap_uart_state {
int num;
@@ -422,7 +428,8 @@ static void omap_uart_idle_init(struct omap_uart_state *uart)
uart->timeout = DEFAULT_TIMEOUT;
setup_timer(&uart->timer, omap_uart_idle_timer,
(unsigned long) uart);
- mod_timer(&uart->timer, jiffies + uart->timeout);
+ if (uart->timeout)
+ mod_timer(&uart->timer, jiffies + uart->timeout);
omap_uart_smart_idle_enable(uart, 0);
if (cpu_is_omap34xx()) {
next prev parent reply other threads:[~2010-02-03 3:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-03 2:25 [PATCH 0/9] omap fixes for 2.6.33-rc6 Tony Lindgren
2010-02-03 2:25 ` [PATCH 1/9] omap: define _toggle_gpio_edge_triggering only for OMAP1 Tony Lindgren
2010-02-03 8:13 ` Uwe Kleine-König
2010-02-03 16:57 ` Tony Lindgren
2010-02-03 17:10 ` Uwe Kleine-König
2010-02-03 17:25 ` Tony Lindgren
2010-02-03 2:25 ` [PATCH 2/9] omap: Remove old unused defines for OMAP_32KSYNCT_BASE Tony Lindgren
2010-02-03 2:26 ` [PATCH 3/9] ARCH OMAP : enable ARCH_HAS_HOLES_MEMORYMODEL for OMAP Tony Lindgren
2010-02-03 2:26 ` [PATCH 4/9] OMAP2/3: IRQ: ensure valid base address Tony Lindgren
2010-02-03 2:26 ` [PATCH 5/9] OMAP2/3: GPMC: ensure valid clock pointer Tony Lindgren
2010-02-03 2:26 ` [PATCH 6/9] omap: Fix 3630 mux errors Tony Lindgren
2010-02-03 2:26 ` [PATCH 7/9] omap: Fix arch/arm/mach-omap2/mux.c: Off by one error Tony Lindgren
2010-02-03 2:26 ` [PATCH 8/9] omap: Fix access to already released memory in clk_debugfs_register_one() Tony Lindgren
2010-02-03 2:26 ` [PATCH 9/9] omap: Disable serial port autoidle by default Tony Lindgren
2010-02-03 3:43 ` Tony Lindgren [this message]
2010-02-03 14:40 ` Kevin Hilman
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=20100203034322.GZ22747@atomide.com \
--to=tony@atomide.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.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