From mboxrd@z Thu Jan 1 00:00:00 1970 From: sre@ring0.de (Sebastian Reichel) Date: Tue, 2 Sep 2014 22:38:35 +0200 Subject: [PATCH 15/15] tty: serial: 8250: omap: add dma support In-Reply-To: <20140902201536.GC11766@atomide.com> References: <20140827202313.GF16006@atomide.com> <20140828082348.GA5413@linutronix.de> <20140828164645.GG16006@atomide.com> <53FF84DF.7080406@linutronix.de> <20140828225454.GM16006@atomide.com> <540048B4.7010807@linutronix.de> <20140829161221.GO16006@atomide.com> <5404B149.6010400@linutronix.de> <54060EDA.6060204@linutronix.de> <20140902201536.GC11766@atomide.com> Message-ID: <20140902203834.GA7050@earth.universe> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, Sep 02, 2014 at 01:15:37PM -0700, Tony Lindgren wrote: > * Sebastian Andrzej Siewior [140902 11:40]: > > On 09/01/2014 07:47 PM, Sebastian Andrzej Siewior wrote: > > > Comparing it with serial-omap I see the same thing: I takes approx the > > > same amount of data until the first one is displayed. After a lot of > > > "long" writes which wake the chip up from idle I manage to freeze both, > > > the serial-omap driver and mine driver. > > > > So after some testing: > > - it happens with omap-serial as well. Especially after disabling the > > LED trigger for both LEDs. > > > > - it seemed that disabling the MDR1 check whether or not we lost > > context made the problem appear less often but it was a trick. Even > > with restoring the context each time I see the same problem. > > > > - it seems to be easier to trigger with the LED trigger switched off. > > However sometimes it works for 10 minutes, sometimes it triggers > > after one. > > > > - I see to face two kind of "deaths": > > - the LED still goes on and off and the uart just does not respond > > even if I tell the button print something on the screen (the button > > also changes the frequency of the LED so I know that the button is > > doing something). > > Also from dumping the content of /proc/interrupts it seems that a > > wake up is made, the uart should have restored the registers. > > OK yeah this is the case I was seeing too. So do you just set the > LED triggers to none in sysfs to make it easier to reproduce? > > > - one where the system is dead and the LED does not blink anymore. > > Also my button is dead. > > This I don't think I've seen. This could also be the errata issue on > your earlier rev beagleboard-xm with off-idle. > > > - disabling DMA makes the problem not go away. > > OK > > > - mdelay(25) in omap8250_lost_context() is long enough to drop the 403 > > bytes I send in my testcase. That means I see only "good" characters. > > With this the box remained alive for 2h. However the uart died anyway. > > I wonder if doing some TX on the uart restores it? So maybe try > > $ while [ 1 ]; do date; sleep 10 done & > > To have it occasionally print something in the background. If there is a way to detect the hangup you may try to recover by resetting the serial device using omap_hwmod_reset(). -- Sebastian -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: