2007-02-28 10:24:11

by Gerd Hoffmann

[permalink] [raw]
Subject: [patch] Add insmod option to force the use of the backup timer.

The test which automatically enables the backup timer on some HP
machines doesn't trigger on other hardware which needs the backup
timer too.

This patch add a way to enable it manually (8250.use_backup_timer=1)
to deal with these machines.

Signed-off-by: Gerd Hoffmann <[email protected]>
Cc: Alex Williamson <[email protected]>
Cc: Kevin Stansell <[email protected]>
---
drivers/serial/8250.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

Index: vanilla-2.6.21-rc2/drivers/serial/8250.c
===================================================================
--- vanilla-2.6.21-rc2.orig/drivers/serial/8250.c
+++ vanilla-2.6.21-rc2/drivers/serial/8250.c
@@ -52,8 +52,8 @@
* is unsafe when used on edge-triggered interrupts.
*/
static unsigned int share_irqs = SERIAL8250_SHARE_IRQS;
-
static unsigned int nr_uarts = CONFIG_SERIAL_8250_RUNTIME_UARTS;
+static unsigned int use_backup_timer;

/*
* Debugging.
@@ -1729,7 +1729,7 @@ static int serial8250_startup(struct uar
* If the interrupt is not reasserted, setup a timer to
* kick the UART on a regular basis.
*/
- if (iir & UART_IIR_NO_INT) {
+ if (iir & UART_IIR_NO_INT || use_backup_timer) {
pr_debug("ttyS%d - using backup timer\n", port->line);
up->timer.function = serial8250_backup_timeout;
up->timer.data = (unsigned long)up;
@@ -2805,6 +2805,9 @@ module_param(share_irqs, uint, 0644);
MODULE_PARM_DESC(share_irqs, "Share IRQs with other non-8250/16x50 devices"
" (unsafe)");

+module_param(use_backup_timer, uint, 0644);
+MODULE_PARM_DESC(use_backup_timer, "use backup timer");
+
module_param(nr_uarts, uint, 0644);
MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __MODULE_STRING(CONFIG_SERIAL_8250_NR_UARTS) ")");


--
Gerd Hoffmann <[email protected]>


2007-02-28 18:57:21

by Dave Jones

[permalink] [raw]
Subject: Re: [patch] Add insmod option to force the use of the backup timer.

On Wed, Feb 28, 2007 at 11:23:46AM +0100, Gerd Hoffmann wrote:
> The test which automatically enables the backup timer on some HP
> machines doesn't trigger on other hardware which needs the backup
> timer too.

Did you figure out *why* that test doesn't trigger?
Making that work seems a better solution to me than adding magic
options that users won't know they have to use.

Dave

--
http://www.codemonkey.org.uk