Messages in this thread | | | Date | Fri, 18 Jul 2014 11:53:21 -0400 | From | Peter Hurley <> | Subject | Re: [PATCH 4/5] tty: serial: 8250 core: add runtime pm |
| |
On 07/18/2014 11:31 AM, Felipe Balbi wrote: > On Fri, Jul 18, 2014 at 10:35:10AM +0200, Sebastian Andrzej Siewior wrote: >> >On 07/17/2014 06:18 PM, Felipe Balbi wrote: >> > >>>> > >>No, this is okay. If you look, it checks for "up->ier & >>>> > >>UART_IER_THRI". On the second invocation it will see that this >>>> > >>bit is already set and therefore won't call get_sync() for the >>>> > >>second time. That bit is removed in the _stop_tx() path. >>> > > >>> > >oh, right. But that's actually unnecessary. Calling >>> > >pm_runtime_get() multiple times will just increment the usage >>> > >counter multiple times, which means you can call __stop_tx() >>> > >multiple times too and everything gets balanced, right ? >> > >> >No. start_tx() will be called multiple times but only the first >> >invocation invoke pm_runtime_get(). Now I noticed that I forgot to > right, but that's unnecessary. You can pm_runtime_get() every time > start_tx() is called. Just make sure to put everytime stop_tx() is > called too.
The interface is asymmetric.
start_tx() may be invoked multiple times for which only 1 interrupt will occur, and thus only invoke __stop_tx() once.
Regards, Peter Hurley
| |