Re: musb: cppi41: broken high speed FTDI functionality when connected to musb directly

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

 



On Tue, Oct 1, 2019 at 10:03 AM Johan Hovold <johan@xxxxxxxxxx> wrote:
>
> On Mon, Sep 30, 2019 at 09:54:11PM +0200, Sebastian Reichel wrote:
> > Hi,
> >
> > On Mon, Sep 30, 2019 at 08:23:30AM -0700, Tony Lindgren wrote:
>
> > > Actually playing with the cppi41 timeout might be more suitable here,
> > > they use the same module clock from what I remember though. So
> > > maybe increase the cppi41 autosuspend_timeout from 100 ms to 500 ms
> > > or higher:
> > >
> > > # echo 500 > /sys/bus/platform/drivers/cppi41-dma-engine/47400000.dma-controller/power/autosuspend_delay_ms
> > >
> > > If changing the autosuspend_timeout_ms value does not help, then
> > > try setting control to on there.
> >
> > I did not check the details, but from the cover-letter this might be
> > woth looking into:
> >
> > https://lore.kernel.org/lkml/20190930161205.18803-1-johan@xxxxxxxxxx/
>
> No, that one should be unrelated as it would only prevent later suspends after
> a driver has been unbound (and rebound).

I've tried to increase the autosuspend_delay_ms and to set control to
"on" but nothing changes. Below you can see the output of my testing
script [1] (Py2 only). As one can see, the first cycle i.e. after the
port is open for the first time, fails. But the subsequent cycle is
successful. If you invoke the script again, everything repeats.

I've also made printk() in cppi41_run_queue() and it looks like this
routine will be called from cppi41_dma_issue_pending() only in the
beginning of the second test cycle.

# serialtest.py -c 2 /dev/ttyUSB0 /dev/ttyUSB0
[  662.333862] cppi41_runtime_resume
Rx/Tx test: baudrate 115200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: string length 0 received
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: FAILED
Rx/Tx test: baudrate 115200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: string length 0 received
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: FAILED
Rx/Tx test: baudrate 1200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: string length 0 received
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: FAILED
Rx/Tx test: baudrate 1200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: string length 0 received
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: FAILED
Rx/Tx test: baudrate 115200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: O.K.
Rx/Tx test: baudrate 115200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: O.K.
Rx/Tx test: baudrate 1200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: O.K.
Rx/Tx test: baudrate 1200
Rx/Tx /dev/ttyUSB0 > /dev/ttyUSB0: O.K.
# [  672.720806] cppi41_runtime_suspend

[1] http://ftp.visionsystems.de/temp/serialtest.py

Regards,
Yegor



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux