[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 <kraxel@xxxxxxx>
Cc: Alex Williamson <alex.williamson@xxxxxx>
Cc: Kevin Stansell <kstansel@xxxxxxxxxx>
---
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 <kraxel@xxxxxxx>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: do pop up boxes stop all events?
    ... You can "get out of there" in just a few microseconds and the next event will still not occur on the next 10 millisecond interval on most machines. ... The fact is that the underlying sytem which triggers the VB Timer does not really get a very high priority and the OS doesn't really consider such timings to be important. ... Private Declare Function timeBeginPeriod _ ... Private Sub Form_Unload ...
    (microsoft.public.vb.general.discussion)
  • Re: [patch 6/6] x86: add c1e aware idle function
    ... This excludes those machines from high ... To work nicely with C1E enabled machines we use a separate idle ... This allows us to do timer broadcasting ... Does the boot CPU ...
    (Linux-Kernel)
  • Re: 50 hz timer motor
    ... on the Brandt BR1000) where the cycling motor modules, ... On that type of timer, the timer motor is usually wired through a ... > part of the fill - and on some machines, the initial part of the water ... The pressostat (water level switch) and/or the thermostats are ...
    (sci.electronics.repair)
  • Re: regression introduced by - timers: fix itimer/many thread hang
    ... The current code is utterly broken on large machines too, ... I basically think the whole process wide itimer stuff is broken by ... What is worse, we can't just limit the granularity of itimers, because ... Implementations may place limitations on the granularity of timer values. ...
    (Linux-Kernel)
  • Re: [PATCH 1/6] new timeofday core subsystem for -mm (v.B3)
    ... > ton of timer interrupts. ... In fact, the timekeeping soft-timer is ... > performance on slower systems using high HZ values. ... AFAICT on slower machines it's a serious ...
    (Linux-Kernel)