Re: [PATCH] atmel_serial: Fix break handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 5 Jun 2007 13:23:36 +0200
Haavard Skinnemoen wrote:

> On Tue, 5 Jun 2007 14:07:20 +0300
> Ivan Kuten <[email protected]> wrote:
> 
> > I tried to test your patch on AT91RM9200 with Magic SysRq sequence, unfortunately without 
> > success - SysRq still does not work. You mention "break count increments" where do you check it ? I have 
> > cat /proc/tty/driver/atmel_serial 
> > serinfo:1.0 driver revision:
> > 0: uart:ATMEL_SERIAL mmio:0xFEFFF200 irq:1 tx:8554 rx:623 fe:25 RTS|CTS|DTR|DSR|CD|RI
> > 1: uart:ATMEL_SERIAL mmio:0xFFFC0000 irq:6 tx:0 rx:0 CTS|DSR|CD|RI
> > 2: uart:ATMEL_SERIAL mmio:0xFFFC4000 irq:7 tx:0 rx:0 RI
> > 3: uart:ATMEL_SERIAL mmio:0xFFFC8000 irq:8 tx:0 rx:0 DSR|CD|RI
> > 4: uart:ATMEL_SERIAL mmio:0xFFFCC000 irq:9 tx:0 rx:0 CTS|DSR|CD|RI
> > 
> > no any break counter.
> 
> Andrew Victor pointed out that the RM9200 DBGU doesn't support break at
> all, and the data sheet seems to agree. The break counter seems to show
> up after the first break has been received and you're probably not
> receiving any.
> 
> Is it possible for you to try a different USART as console?
> 
> Haavard

Hi Haavard,

I tried /dev/ttyAT3, break appeared but not the way I expected, after: stty -F /dev/ttyAT3 brkint 
I get:

cat /proc/tty/driver/atmel_serial 
serinfo:1.0 driver revision:
0: uart:ATMEL_SERIAL mmio:0xFEFFF200 irq:1 tx:0 rx:0 CTS|DSR|CD|RI
1: uart:ATMEL_SERIAL mmio:0xFFFC0000 irq:6 tx:0 rx:0 CTS|DSR|CD|RI             
2: uart:ATMEL_SERIAL mmio:0xFFFC4000 irq:7 tx:0 rx:0 RI                        
3: uart:ATMEL_SERIAL mmio:0xFFFC8000 irq:8 tx:1530 rx:115 brk:1 RTS|DTR|DSR|CD|RI
4: uart:ATMEL_SERIAL mmio:0xFFFCC000 irq:9 tx:0 rx:0 DSR|CD|RI  

brk is 1 not depending on how many breaks was sent. May be I missunderstood "break" meaning?
I use from minicom: Main Functions : send break.........F . 

I inserted printk:

/*                                                                                                                                         
 * Control the transmission of a break signal                                                                                              
 */                                                                                                                                        
static void atmel_break_ctl(struct uart_port *port, int break_state)                                                                       
{                                                                                                                                          
        printk(KERN_EMERG "atmel_break_ctl break_state %d", break_state);                                                                  
        if (break_state != 0)                                                                                                              
                UART_PUT_CR(port, ATMEL_US_STTBRK);     /* start break */                                                                  
        else                                                                                                                               
                UART_PUT_CR(port, ATMEL_US_STPBRK);     /* stop break */                                                                   
}                                                                                                                                          

it's also not shown.

BR,
Ivan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux