bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act
authorTony Lindgren <tony@atomide.com>
Tue, 25 May 2021 06:08:23 +0000 (09:08 +0300)
committerTony Lindgren <tony@atomide.com>
Tue, 25 May 2021 06:08:23 +0000 (09:08 +0300)
commitc8692ad416dcc420ce1b403596a425c8f4c2720b
tree953a882114d240f7821f4a7c6b3214d4ae7dac42
parent4d7b324e231366ea772ab10df46be31273ca39af
bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act

Looks like the swsup_sidle_act quirk handling is unreliable for serial
ports. The serial ports just eventually stop idling until woken up and
re-idled again. As the serial port not idling blocks any deeper SoC idle
states, it's adds an annoying random flakeyness for power management.

Let's just switch to swsup_sidle quirk instead like we already do for
omap3 uarts. This means we manually idle the port instead of trying to
use the hardware autoidle features when not in use.

For more details on why the serial ports have been using swsup_idle_act,
see commit 66dde54e978a ("ARM: OMAP2+: hwmod-data: UART IP needs software
control to manage sidle modes"). It seems that the swsup_idle_act quirk
handling is not enough though, and for example the TI Android kernel
changed to using swsup_sidle with commit 77c34c84e1e0 ("OMAP4: HWMOD:
UART1: disable smart-idle.").

Fixes: b4a9a7a38917 ("bus: ti-sysc: Handle swsup idle mode quirks")
Cc: Carl Philipp Klemm <philipp@uvos.xyz>
Cc: Ivan Jelincic <parazyd@dyne.org>
Cc: Merlijn Wajer <merlijn@wizzup.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Sicelo A. Mhlongo <absicsz@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/bus/ti-sysc.c