Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1673916pxj; Fri, 21 May 2021 22:12:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxNey3AFbEwlOIxnaS3p4LVLkZ5AyWBoMiE/JV6gA57dK5dZbOSVaUdkeLzpTbsEMVR4jfr X-Received: by 2002:a17:906:1794:: with SMTP id t20mr13542449eje.119.1621660376661; Fri, 21 May 2021 22:12:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621660376; cv=none; d=google.com; s=arc-20160816; b=oYcyEdybRrLgeTbPYZ/uVeSrS4YpWLFsCRqD4m5r/qvpG2io/sl2Ejvh6zcLPbuNyv jrIORvKZXXvrq+BXzPhJibuRDyuO9o3JMQ4oi59fHp2TpJqtUhrOjIe1vGcjW9/09uia 7GsgR/+ad9MMsfGnH3U12LEd6ohhjxHcjDtXYoEPE1YOdgEMy5+L2Aiz4wDVWMW1R7qS PMuCs9eqqe25C2BjK5uUoBmjZdv4gcLgkZYwkB9r8dN47hbTd2unjMlpEBtn+GFcwNlR +XzWSf3zXhvcGNXGeak1xjvXDXq+AW9kaPbgKZuLMJp9n16Hx7+d5UFP+Vpv/2ppKET/ M84g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=aexal2bhQ/Kg8BlHTONvUEOWw9TAHPxbjcYQ+O9+QI4=; b=kXORPdESh6JGQQrA5fNgm551DytwYddL/5CeDZL0zsimicrTEOX9k85HZyG17xyqQs Ey5AnbRpH8dCRNzflFwGjnhkdKf4ma/74I14Sdjmtvnq1bw3WqSFB5yNt//7Hi7LYa22 0LomO8JvgvjcwKfQq/viEKEQA3/E+ngnVQSE5sd6Hh4Eyo5LahafDma6Iy0PV1o7xgR5 buiI9QlCfgn4Kk10800MhRUtH7bviJzNl0EgNwKwdpvzUzgALQFYBnQJXMgEIX5uEBLZ jdxCaTxxN8XHe3Q3jKE+Dlpwh2bya/DSXoI1e2o/JKQpmGgrvIiIfKVL5sYp7oKnLGHg UlNg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t1si7114389eje.466.2021.05.21.22.12.06; Fri, 21 May 2021 22:12:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230086AbhEVFJb (ORCPT + 99 others); Sat, 22 May 2021 01:09:31 -0400 Received: from muru.com ([72.249.23.125]:58772 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229914AbhEVFJb (ORCPT ); Sat, 22 May 2021 01:09:31 -0400 Received: from hillo.muru.com (localhost [127.0.0.1]) by muru.com (Postfix) with ESMTP id 374DC80C0; Sat, 22 May 2021 05:08:09 +0000 (UTC) From: Tony Lindgren To: linux-omap@vger.kernel.org Cc: Dave Gerlach , Faiz Abbas , Greg Kroah-Hartman , Grygorii Strashko , Keerthy , Nishanth Menon , Suman Anna , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Carl Philipp Klemm , Ivan Jelincic , Merlijn Wajer , Pavel Machek , Sebastian Reichel , "Sicelo A . Mhlongo" Subject: [PATCH] bus: ti-sysc: Fix flakey idling of uarts and stop using swsup_sidle_act Date: Sat, 22 May 2021 08:07:59 +0300 Message-Id: <20210522050759.52815-1-tony@atomide.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Cc: Ivan Jelincic Cc: Merlijn Wajer Cc: Pavel Machek Cc: Sebastian Reichel Cc: Sicelo A. Mhlongo Signed-off-by: Tony Lindgren --- drivers/bus/ti-sysc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -1466,9 +1466,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, -- 2.31.1