Re: [PATCH] serial: core: Fix checks for tx runtime PM state

From: Tony Lindgren
Date: Fri Oct 06 2023 - 04:37:19 EST


* Johan Hovold <johan@xxxxxxxxxx> [231006 08:03]:
> On Fri, Oct 06, 2023 at 10:27:38AM +0300, Tony Lindgren wrote:
> > * Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [231005 12:01]:
> > > On Thu, Oct 05, 2023 at 10:56:42AM +0300, Tony Lindgren wrote:
> > > > The serdev device and the serial core controller devices are siblings of
> > > > the serial port hardware device. The runtime PM usage count from serdev
> > >
> > > I'm a bit lost in terminology here.
> > > AFAIU there are:
> > > 1) children of the serial physical device;
> > > 2) siblings (to each other).
> > >
> > > But may be I mistakenly deciphered the diagram from the previous discussion.
> >
> > You're right, so how about:
> >
> > The serdev device and the serial core controller devices are children of
> > the serial port hardware device. The runtime PM usage count from serdev
> > device does not propagate to the serial core device siblings, it only
> > propagates to the parent.
>
> That's still not accurate:
>
> - the serdev device is not a child (but a grandchild) of the serial
> controller
> - the new serial port devices are not "siblings" (but descendants) of
> the serial controller
> - the serdev controller ignores the power state of its children so that
> bit is also incorrect
>
> You just want to describe the fact that the serdev controller runtime PM
> state is currently not propagated to your new "devices" that are
> descendants to the serial controller.

OK so let's just use:

The serdev controller runtime PM state is not currently propagated
to the serial core controller port device. The runtime PM usage count
only propagates to the parent device.

> I'm still not sure why it was implemented this way, or if it is even
> correct, but this seems to be the state of things.

Care to clarify a bit which parts are unclear? The hierarchy of port
devices, making serial core manage runtime PM in a generic way, or
flushing tx?

Regards,

Tony