Re: [PATCHv3 0/4] Get rid of pm_runtime_irq_safe() for 8250_omap

From: Johan Hovold
Date: Mon Oct 18 2021 - 03:11:56 EST


On Fri, Oct 15, 2021 at 02:26:22PM +0300, Tony Lindgren wrote:
> Hi,
>
> Here are v3 patches to get rid of pm_runtime_irq_safe() for the 8250_omap
> driver. Based on comments from Andy, Johan and Greg, I improved a bunch of
> things as listed below.
>
> For removing the pm_runtime_irq_safe() usage, serial TX is the last
> remaining issue. We deal with TX by waking up the port and returning 0
> bytes written from write_room() and write() if the port is not available
> because of PM runtime autoidle.

Oh, there's a lot more than TX that needs fixing... And I believe the
second sentence no longer applies since v1.

> Chganges since v2:
>
> - Use locking instead of atomic_t as suggested by Greg
>
> Changes since v1:
>
> - Separated out line discipline patches, n_tty -EAGAIN change I still
> need to retest
>
> - Changed prep_tx() to more generic wakeup() as also flow control needs it
>
> - Changed over to using wakeup() with device driver runtime PM instead
> of write_room()
>
> - Added runtime_suspended flag for drivers and generic serial layer PM
> to use

Johan