• Tony Lindgren's avatar
    bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act · c8692ad4
    Tony Lindgren authored
    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 66dde54e ("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: b4a9a7a3 ("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: default avatarTony Lindgren <tony@atomide.com>
    c8692ad4
ti-sysc.c 80.4 KB