Patch "bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bus-ti-sysc-fix-flakey-idling-of-uarts-and-stop-usin.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 6da13f1ba8ace78cbd5c0f6d87253ffe7a0aee28
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date:   Tue May 25 09:08:23 2021 +0300

    bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act
    
    [ Upstream commit c8692ad416dcc420ce1b403596a425c8f4c2720b ]
    
    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@xxxxxxxx>
    Cc: Ivan Jelincic <parazyd@xxxxxxxx>
    Cc: Merlijn Wajer <merlijn@xxxxxxxxxx>
    Cc: Pavel Machek <pavel@xxxxxx>
    Cc: Sebastian Reichel <sre@xxxxxxxxxx>
    Cc: Sicelo A. Mhlongo <absicsz@xxxxxxxxx>
    Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index b7f8c6074a15..818dc7f54f03 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -1450,9 +1450,9 @@ static const struct sysc_revision_quirk sysc_revision_quirks[] = {
 		   SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
 	/* Uarts on omap4 and later */
 	SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x50411e03, 0xffff00ff,
-		   SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE),
+		   SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
 	SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47422e03, 0xffffffff,
-		   SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE),
+		   SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE),
 
 	/* Quirks that need to be set based on the module address */
 	SYSC_QUIRK("mcpdm", 0x40132000, 0, 0x10, -ENODEV, 0x50000800, 0xffffffff,



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux