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