[LinuxPPS] debug output

Rodolfo Giometti giometti at enneenne.com
Fri Feb 23 19:40:10 CET 2007


On Fri, Feb 23, 2007 at 08:56:49AM -0800, gnu not unix wrote:

> Here's dmesg output after setserial:
> 
> SETTING UART_IER
> SETTING UART_IER AS 5
> FLAGS2 10000840
> serial_core: PPS source #0 "/dev/ttyS0" added to the system 

On Fri, Feb 23, 2007 at 09:02:46AM -0800, gnu not unix wrote:

> SETTING UART_IER
> SETTING UART_IER AS 5
> SETTING UART_IER
> SETTING UART_IER AS 5
> SETTING UART_IER
> ENABLE UART_IER_MSI IRQ
> SETTING UART_IER AS d
> SETTING UART_IER
> ENABLE UART_IER_MSI IRQ
> SETTING UART_IER AS d

Ok, maybe I've got it! Please, try this patch:

diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index d1756c6..cf86d9a 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -875,7 +875,7 @@ static int uart_set_info(struct uart_state *state,
        if (port->type == PORT_UNKNOWN)
                goto exit;
        if (state->info->flags & UIF_INITIALIZED) {
-               if (((old_flags ^ port->flags) & UPF_SPD_MASK) ||
+               if (((old_flags ^ port->flags) & (UPF_SPD_MASK|UPF_HARDPPS_CD))
                     old_custom_divisor != port->custom_divisor) {
                        /*
                         * If they're setting up a custom divisor or speed,

This should enable right IRQ settings, you should see:

  ENABLE UART_IER_MSI IRQ
  SETTING UART_IER AS d

__each__ time you run "setserial /dev/ttyS0 hardpps" for the first
time.

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127



More information about the LinuxPPS mailing list