Tony Lindgren 8700a7ea55 serial: 8250_omap: Drop pm_runtime_irq_safe()
Let's drop the use of pm_runtime_irq_safe() for 8250_omap. The use of
pm_runtime_irq_safe() is not nice as it takes a permanent usage count on
the parent device.

We can finally drop pm_runtime_irq_safe() safely as the kernel now knows
when the uart port tx is active. This changed with commit 84a9582fd203
("serial: core: Start managing serial controllers to enable runtime PM").

For serial port rx, we already use Linux generic wakeirqs for 8250_omap.

To drop pm_runtime_irq_safe(), we need to add handling for shallow idle
state where the port hardware may already be awake and an IO interrupt
happens. We also need to replace the serial8250_rpm sync calls in the
interrupt handlers with async runtime PM calls.

Note that omap8250_irq() calls omap_8250_dma_handle_irq(), so we don't
need separate runtime PM calls in omap_8250_dma_handle_irq().

While at it, let's also add the missing line break to the end of
omap8250_runtime_resume() to group the calls.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20231004062650.64487-1-tony@atomide.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-05 09:41:22 +02:00
..
2023-08-22 15:50:57 +02:00
2023-09-29 13:38:34 -07:00
2023-08-30 13:34:34 -07:00
Hi,
2023-09-13 11:44:20 -07:00
2023-09-04 13:47:59 -07:00
2023-08-31 12:43:10 -07:00
2023-08-24 16:20:30 -07:00
2023-09-03 10:49:42 -07:00
2023-08-30 13:34:34 -07:00
2023-08-30 19:23:00 -07:00
2023-09-30 18:41:37 -07:00
2023-09-01 12:31:44 -07:00
2023-09-04 11:26:29 -07:00
2023-08-28 16:35:01 -07:00
2023-09-01 09:53:54 -07:00
2023-09-02 12:02:41 -07:00
2023-09-06 09:24:25 -07:00
2023-09-01 16:54:25 -07:00
2023-09-04 13:52:58 -07:00
2023-08-31 12:43:10 -07:00
2023-09-01 09:38:00 -07:00
2023-09-04 13:47:59 -07:00
2023-08-30 18:32:24 -07:00
2023-09-14 16:20:31 -06:00
2023-08-30 16:59:03 -07:00
2023-08-18 10:55:49 +05:30
2023-09-11 15:24:16 -07:00
2023-09-08 12:48:37 -07:00
2023-09-03 10:38:02 -07:00
2023-09-07 18:05:58 -07:00
2023-09-04 15:12:26 -07:00
2023-09-04 15:08:52 -07:00
2023-09-07 16:07:35 -07:00
2023-09-08 21:39:54 -07:00
2023-09-29 13:38:34 -07:00
2023-09-03 10:20:57 -07:00
2023-09-13 08:16:24 +02:00
2023-09-04 10:43:44 -07:00
2023-09-21 10:33:49 +02:00
2023-08-24 16:20:18 -07:00
2023-09-06 09:19:12 -07:00
2023-08-21 13:27:44 +02:00