Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-10-13 Thread Frans Klaver
On Thu, Oct 02, 2014 at 12:27:23PM +0200, Sebastian Andrzej Siewior wrote: > * Frans Klaver | 2014-09-30 10:44:16 [+0200]: > > > uart_test-483 [000] dnh.17.861018: serial8250_interrupt: irq 89 > > uart_test-483 [000] dnh.17.861026: serial8250_interrupt: 89 e > e? Did was th

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-10-02 Thread Sebastian Andrzej Siewior
* Frans Klaver | 2014-09-30 10:44:16 [+0200]: >On Mon, Sep 29, 2014 at 12:30:43PM +0200, Frans Klaver wrote: >> On Mon, Sep 29, 2014 at 11:54:40AM +0200, Sebastian Andrzej Siewior wrote: >> > For your "too much work for irq" problem: Could you add trace_printk() >> > in tx/rx dma start/complete, a

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-30 Thread Frans Klaver
On Mon, Sep 29, 2014 at 12:30:43PM +0200, Frans Klaver wrote: > On Mon, Sep 29, 2014 at 11:54:40AM +0200, Sebastian Andrzej Siewior wrote: > > For your "too much work for irq" problem: Could you add trace_printk() > > in tx/rx dma start/complete, and irq routine? The interresting part is > > what i

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-29 Thread Sebastian Andrzej Siewior
* Peter Hurley | 2014-09-17 08:20:41 [-0400]: >> So I connected my am335x-evm >> with beagle board xm because both of them have an old fashion UART >> connector (instead those uart-to-usb). Both configured with HW-Flow and >> I haven't seen the function invoked but I saw "port->icount.overrun" >>

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-29 Thread Frans Klaver
On Mon, Sep 29, 2014 at 11:54:40AM +0200, Sebastian Andrzej Siewior wrote: > There is a patch named "ARM: edma: unconditionally ack the error > interrupt". I have the feeling that this is not really required once we > delay set_termios. I couldn't reproduce the bug with beagleblack with my > usual

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-29 Thread Sebastian Andrzej Siewior
* Frans Klaver | 2014-09-29 10:50:42 [+0200]: >This version fixes the console things for us. It also increases the >amount of data we can push over the serial port. If I push the data >towards our requirements, we're not there yet. I get the "too much work >for irq" notice still. However, I don't

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-29 Thread Frans Klaver
On Thu, Sep 25, 2014 at 05:14:03PM +0200, Sebastian Andrzej Siewior wrote: > * Frans Klaver | 2014-09-22 11:28:54 [+0200]: > > >I guess then we'd still have to answer the question why the yocto build > >calls set_termios() so often, but that's not on you then. Did you notice > >it even changing se

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-25 Thread Frans Klaver
On 25 September 2014 17:14:03 CEST, Sebastian Andrzej Siewior wrote: >* Frans Klaver | 2014-09-22 11:28:54 [+0200]: > >>I guess then we'd still have to answer the question why the yocto >build >>calls set_termios() so often, but that's not on you then. Did you >notice >>it even changing settings?

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-25 Thread Sebastian Andrzej Siewior
* Frans Klaver | 2014-09-22 11:28:54 [+0200]: >I guess then we'd still have to answer the question why the yocto build >calls set_termios() so often, but that's not on you then. Did you notice >it even changing settings? We might want to fix this even if the kernel >should be able to cope. could

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-25 Thread Sebastian Andrzej Siewior
* Peter Hurley | 2014-09-25 07:31:32 [-0400]: >I just verified that GNU readline6 uses ioctl(TCSETSW, ...) to do the >set_termios >(which is the ioctl that libc should use for tcsetattr(TCSADRAIN)). > >Maybe this userspace is using a readline()-alike that has a bug by not using >the >correct tcs

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-25 Thread Peter Hurley
On 09/25/2014 06:42 AM, Sebastian Andrzej Siewior wrote: > * Sebastian Andrzej Siewior | 2014-09-24 09:53:46 [+0200]: > >> * Peter Hurley | 2014-09-23 13:03:51 [-0400]: >> >>> But DMA is cheating if the UART driver's tx_empty() method is saying the >>> transmitter is empty while TX DMA is still ru

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-25 Thread Sebastian Andrzej Siewior
* Sebastian Andrzej Siewior | 2014-09-24 09:53:46 [+0200]: >* Peter Hurley | 2014-09-23 13:03:51 [-0400]: > >>But DMA is cheating if the UART driver's tx_empty() method is saying the >>transmitter is empty while TX DMA is still running. >This shouldn't be the case. But I will check this once I abl

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-25 Thread Sebastian Andrzej Siewior
* Heikki Krogerus | 2014-09-22 10:46:05 [+0300]: >Well, there are no other SoCs at the moment that would need it, and >it's actually possible that there never will be. So yes, just handle >that also in the omap specific code. Okay. So let me move the irq routine and the workarounds into omap then

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-24 Thread Sebastian Andrzej Siewior
* Frans Klaver | 2014-09-22 11:28:54 [+0200]: > >Wow, thanks for your work here. This does indeed sound hard to trap. > >I guess then we'd still have to answer the question why the yocto build >calls set_termios() so often, but that's not on you then. Did you notice >it even changing settings? We

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-24 Thread Sebastian Andrzej Siewior
* Peter Hurley | 2014-09-23 13:03:51 [-0400]: >readline() does this; it 'saves' the caller's termios, sets termios >for non-canonical reads, reads one char, and 'restores' the caller's >termios. interresting, thanks. I guess I would need to opimize this a little so the baudrate isn't going to 0 a

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-23 Thread Peter Hurley
On 09/21/2014 04:41 PM, Sebastian Andrzej Siewior wrote: > * Frans Klaver | 2014-09-17 12:28:12 [+0200]: > >> - Bone Black: Yocto poky, core-image-minimal >> Login, "less file" locks up, doesn't show anything. I can exit using >> Ctrl-C. > > So I have the same with my and the serial-omap driver

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-22 Thread Frans Klaver
On Sun, Sep 21, 2014 at 10:41:00PM +0200, Sebastian Andrzej Siewior wrote: > * Frans Klaver | 2014-09-17 12:28:12 [+0200]: > > >- Bone Black: Yocto poky, core-image-minimal > > Login, "less file" locks up, doesn't show anything. I can exit using > > Ctrl-C. > > So I have the same with my and th

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-22 Thread Heikki Krogerus
On Fri, Sep 19, 2014 at 12:58:44PM +0200, Sebastian Andrzej Siewior wrote: > On 09/19/2014 12:22 PM, Heikki Krogerus wrote: > > Couldn't you just replace the handle_irq with a custom irq routine in > > the omap driver like you did with set_termios? Where you would do > > those tricks and/or call se

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-21 Thread Sebastian Andrzej Siewior
* Frans Klaver | 2014-09-17 12:28:12 [+0200]: >- Bone Black: Yocto poky, core-image-minimal > Login, "less file" locks up, doesn't show anything. I can exit using > Ctrl-C. So I have the same with my and the serial-omap driver. No difference here. The trace looks like this: | -0 [

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-19 Thread Peter Hurley
On 09/19/2014 06:58 AM, Sebastian Andrzej Siewior wrote: > On 09/19/2014 12:22 PM, Heikki Krogerus wrote: >> Couldn't you just replace the handle_irq with a custom irq routine in >> the omap driver like you did with set_termios? Where you would do >> those tricks and/or call serial8250_handle_irq()

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-19 Thread Sebastian Andrzej Siewior
On 09/19/2014 12:22 PM, Heikki Krogerus wrote: > Couldn't you just replace the handle_irq with a custom irq routine in > the omap driver like you did with set_termios? Where you would do > those tricks and/or call serial8250_handle_irq()? Tricks within serial8250_handle_irq(), see [0]. It is not a

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-19 Thread Heikki Krogerus
On Wed, Sep 17, 2014 at 06:34:45PM +0200, Sebastian Andrzej Siewior wrote: > On 09/11/2014 01:42 PM, Sebastian Andrzej Siewior wrote: > >> We should add hooks like tx_dma and rx_dma to struct uart_8250_dma so > >> that the probe drivers can replace serial8250_tx_dma and > >> seria8250_rx_dma, like

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-17 Thread Sebastian Andrzej Siewior
On 09/11/2014 01:42 PM, Sebastian Andrzej Siewior wrote: >> We should add hooks like tx_dma and rx_dma to struct uart_8250_dma so >> that the probe drivers can replace serial8250_tx_dma and >> seria8250_rx_dma, like I think Alan already suggested. > > Okay. Wasn't aware that Alan already suggested

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-17 Thread Sebastian Andrzej Siewior
On 09/17/2014 02:20 PM, Peter Hurley wrote: >> So I connected my am335x-evm >> with beagle board xm because both of them have an old fashion UART >> connector (instead those uart-to-usb). Both configured with HW-Flow and >> I haven't seen the function invoked but I saw "port->icount.overrun" >> bei

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-17 Thread Peter Hurley
On 09/16/2014 12:55 PM, Sebastian Andrzej Siewior wrote: > On 09/15/2014 07:01 PM, Sebastian Andrzej Siewior wrote: >> On 09/11/2014 04:35 PM, Peter Hurley wrote: >>> I do need to find out if omap hardware sets UART_MSR_DCTS when auto CTS >>> is on. Would you mind running the debug patch below with

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-17 Thread Frans Klaver
Hi, Yesterday's testing was a bit messy. So here goes again. On Mon, Sep 15, 2014 at 06:42:04PM +0200, Sebastian Andrzej Siewior wrote: > On 09/12/2014 12:28 PM, Frans Klaver wrote: > > port config is 115200 8N1. I don't recall doing anything special. I > > boot, login, less file and get a lock.

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-16 Thread Sebastian Andrzej Siewior
On 09/15/2014 07:01 PM, Sebastian Andrzej Siewior wrote: > On 09/11/2014 04:35 PM, Peter Hurley wrote: >> I do need to find out if omap hardware sets UART_MSR_DCTS when auto CTS >> is on. Would you mind running the debug patch below with HW flow control on? > > I didn't forget about this. However

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-16 Thread Frans Klaver
On Tue, Sep 16, 2014 at 02:42:00PM +0200, Frans Klaver wrote: > On Tue, Sep 16, 2014 at 11:05:40AM +0200, Frans Klaver wrote: > > On Mon, Sep 15, 2014 at 06:42:04PM +0200, Sebastian Andrzej Siewior wrote: > > > If there is nothing specific to the file you do less on I have no idea > > > what else i

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-16 Thread Frans Klaver
On Tue, Sep 16, 2014 at 11:05:40AM +0200, Frans Klaver wrote: > On Mon, Sep 15, 2014 at 06:42:04PM +0200, Sebastian Andrzej Siewior wrote: > > On 09/12/2014 12:28 PM, Frans Klaver wrote: > > > port config is 115200 8N1. I don't recall doing anything special. I > > > boot, login, less file and get a

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-16 Thread Frans Klaver
On Mon, Sep 15, 2014 at 06:42:04PM +0200, Sebastian Andrzej Siewior wrote: > On 09/12/2014 12:28 PM, Frans Klaver wrote: > > port config is 115200 8N1. I don't recall doing anything special. I > > boot, login, less file and get a lock. > > So I booted my mini Debian 7.6 (basic system + openssh) on

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-15 Thread Sebastian Andrzej Siewior
On 09/11/2014 04:35 PM, Peter Hurley wrote: > I do need to find out if omap hardware sets UART_MSR_DCTS when auto CTS > is on. Would you mind running the debug patch below with HW flow control on? I didn't forget about this. However I told minicom to use hardware flow control (and I see the driver

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-15 Thread Sebastian Andrzej Siewior
On 09/12/2014 12:28 PM, Frans Klaver wrote: > port config is 115200 8N1. I don't recall doing anything special. I > boot, login, less file and get a lock. So I booted my mini Debian 7.6 (basic system + openssh) on my beagle bone black which is: [0.00] AM335X ES2.0 (neon ) configured a co

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-12 Thread Frans Klaver
On Fri, Sep 12, 2014 at 11:51:22AM +0200, Sebastian Andrzej Siewior wrote: > On 09/12/2014 11:40 AM, Frans Klaver wrote: > > > I'm not sure. I just reproduced this on a boneblack, using your uart_v9 > > branch. > > > >> This problem only pops-up if you use DMA. With disabled DMA you don't > >> se

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-12 Thread Sebastian Andrzej Siewior
On 09/12/2014 11:40 AM, Frans Klaver wrote: > I'm not sure. I just reproduced this on a boneblack, using your uart_v9 > branch. > >> This problem only pops-up if you use DMA. With disabled DMA you don't >> see this, right? > > I get the lockup both with and without DMA enabled. Here's the 8250 >

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-12 Thread Frans Klaver
On Fri, Sep 12, 2014 at 09:23:24AM +0200, Sebastian Andrzej Siewior wrote: > On 09/11/2014 07:04 PM, Frans Klaver wrote: > > On 11 September 2014 18:04:32 CEST, Sebastian Andrzej Siewior > > wrote: > >> On 09/11/2014 05:11 PM, Frans Klaver wrote: > >> > >>> I can still reproduce it on am335x. I c

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-12 Thread Sebastian Andrzej Siewior
On 09/11/2014 07:04 PM, Frans Klaver wrote: > On 11 September 2014 18:04:32 CEST, Sebastian Andrzej Siewior > wrote: >> On 09/11/2014 05:11 PM, Frans Klaver wrote: >> >>> I can still reproduce it on am335x. I can get out of it as soon as >>> something else gets written to the console though. >>>

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Frans Klaver
On 11 September 2014 18:04:32 CEST, Sebastian Andrzej Siewior wrote: >On 09/11/2014 05:11 PM, Frans Klaver wrote: > >> I can still reproduce it on am335x. I can get out of it as soon as >> something else gets written to the console though. >> >> # echo "<3>something" >/dev/kmsg > >Is this to sta

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Sebastian Andrzej Siewior
On 09/11/2014 05:11 PM, Frans Klaver wrote: > I can still reproduce it on am335x. I can get out of it as soon as > something else gets written to the console though. > > # echo "<3>something" >/dev/kmsg Is this to stall it or to get out of it? > > Frans Sebastian -- To unsubscribe from this l

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Frans Klaver
On Thu, Sep 11, 2014 at 02:50:50PM +0200, Sebastian Andrzej Siewior wrote: > On 09/11/2014 02:32 PM, Peter Hurley wrote: > > On 09/11/2014 07:42 AM, Sebastian Andrzej Siewior wrote: > >> I also need a watchdog timer for TX since it seems that on omap3 the > >> DMA engine suddenly forgets to continu

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Peter Hurley
On 09/11/2014 08:50 AM, Sebastian Andrzej Siewior wrote: > On 09/11/2014 02:32 PM, Peter Hurley wrote: >> On 09/11/2014 07:42 AM, Sebastian Andrzej Siewior wrote: >>> I also need a watchdog timer for TX since it seems that on omap3 the >>> DMA engine suddenly forgets to continue with DMA… >> >> One

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Sebastian Andrzej Siewior
On 09/11/2014 02:32 PM, Peter Hurley wrote: > On 09/11/2014 07:42 AM, Sebastian Andrzej Siewior wrote: >> I also need a watchdog timer for TX since it seems that on omap3 the >> DMA engine suddenly forgets to continue with DMA… > > One difference I noticed between the omap driver and the 8250 driv

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Peter Hurley
On 09/11/2014 07:42 AM, Sebastian Andrzej Siewior wrote: > I also need a watchdog timer for TX since it seems that on omap3 the > DMA engine suddenly forgets to continue with DMA… One difference I noticed between the omap driver and the 8250 driver is the way modem status interrupts are handled.

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Sebastian Andrzej Siewior
On 09/11/2014 01:17 PM, Heikki Krogerus wrote: >> diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h >> index fbed1636e9c4..09489b391568 100644 >> --- a/drivers/tty/serial/8250/8250.h >> +++ b/drivers/tty/serial/8250/8250.h >> @@ -82,6 +82,9 @@ struct serial8250_config { >

Re: [PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-11 Thread Heikki Krogerus
On Wed, Sep 10, 2014 at 09:30:04PM +0200, Sebastian Andrzej Siewior wrote: > At least on AM335x the following problem exists: Even if the TX FIFO is > empty and a TX transfer is programmed (and started) the UART does not > trigger the DMA transfer. > After $TRESHOLD number of bytes have been writte

[PATCH 09/16] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx

2014-09-10 Thread Sebastian Andrzej Siewior
At least on AM335x the following problem exists: Even if the TX FIFO is empty and a TX transfer is programmed (and started) the UART does not trigger the DMA transfer. After $TRESHOLD number of bytes have been written to the FIFO manually the UART reevaluates the whole situation and decides that no