Messages in this thread | | | Date | Mon, 18 Jun 2007 13:21:21 +0300 | From | Ivan Kuten <> | Subject | Re: [PATCH] atmel_serial: Fix break handling |
| |
On Tue, 5 Jun 2007 13:23:36 +0200 Haavard Skinnemoen wrote:
> On Tue, 5 Jun 2007 14:07:20 +0300 > Ivan Kuten <ivan.kuten@promwad.com> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |