lkml.org 
[lkml]   [2014]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 15/15] tty: serial: 8250: omap: add dma support
On Tue, Sep 02, 2014 at 01:15:37PM -0700, Tony Lindgren wrote:
> * Sebastian Andrzej Siewior <bigeasy@linutronix.de> [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
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2014-09-02 23:21    [W:0.975 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site