Message ID | 20211115084203.56478-1-tony@atomide.com (mailing list archive) |
---|---|
Headers | show |
Series | Serial port generic PM to fix 8250 PM | expand |
On Mon, Nov 15, 2021 at 10:43 AM Tony Lindgren <tony@atomide.com> wrote: > > Hi, > > Here are v4 patches for serial port generic PM. The scope has now expanded > a bit from the earlier attempts to get rid of pm_runtime_irq_safe() for > the 8250_omap driver. I've now picked up three patches from Andy's earlier > generic serial port PM series. Johan, do you have any objections / comments on the series? Otherwise I think it's good to go next week next revision (as kbuild bot complained about minor warning).
On Mon, Nov 15, 2021 at 10:41:56AM +0200, Tony Lindgren wrote: > Hi, > > Here are v4 patches for serial port generic PM. The scope has now expanded > a bit from the earlier attempts to get rid of pm_runtime_irq_safe() for > the 8250_omap driver. I've now picked up three patches from Andy's earlier > generic serial port PM series. So this looks like another step in the right direction but there are still some missing pieces. First, you need to provide an overview of the design decisions made here in cover letter. It's currently spread out over several patches and those commit messages still do not hold all the details. Specifically, it looks like tx can still stall indefinitely if the autosuspend timer fires. This can happen at low baud rates and also when using flow control. It also looks like the expected calls to update the last busy timestamp might be missing from the interrupt handlers or related helpers. Please also describe how this interacts with the console. Is a console port now never suspended? Where is that enforced? The final patch appears to rely on this when it drops PM calls from for example some console poll callbacks. > Changes since v3: > - Pick three patches from Andy's earlier serial port PM series to handle > issues pointed out by Johan Please also be more specific here when sending an updated series. I can't really tell what has changed from just this one sentence. Johan
* Johan Hovold <johan@kernel.org> [211130 10:03]: > Specifically, it looks like tx can still stall indefinitely if the > autosuspend timer fires. This can happen at low baud rates and also when > using flow control. Yeah the TX part is still problematic. Note that this is purely because of current Linux serial layers implementation, and not because of any hardware reasons. Even after this series we still rely on serial8250_rpm_get_tx() and serial8250_rpm_put_tx() to decipher if we can idle the port.. If anybody has good ideas where we can add the serial core TX related paired runtime PM calls please let me know :) For TX DMA, we should not do runtime PM put until at the DMA callback function when completed. Regards, Tony