From nobody Wed Dec 17 12:28:58 2025 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0BF491FA261 for ; Tue, 18 Mar 2025 23:00:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742338858; cv=none; b=Ab9I3KNoeCI6gQeONbO3y6C41ntJlOGbLifmfQwrB96YRY+wMyJmcvwYH3sUyJfXFw9vaT5puWA6UHpJJd02KEnv3AyPpkaCeHhvEDOl3BNqHv8/Ud01ySk7lHLyvjXfr6xK/WYDiUlP8yY4/CtRr1k2TiZdccn/Uowt6BnB5tU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742338858; c=relaxed/simple; bh=rE41wxgzlKpGpaGBnybaNjCM4MuLIzqRK5L9RODPghQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=F1ro2NWqhT0k1lmdpMxsJsiOD8N1tdqJWxuW2+0uu33eLHstoXTxdS58bRtMAT3LE8tUHBjtcH0A8ZrSBB4I3iP05PFiCWcIIbCIzkpO0glXfSAkH2X7+pcmZ95kPbQNpLghxb8UFEyzbuC/JW1kQEq/3Kyn3FNJnIBrii3OVik= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=nlIkKEIH; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="nlIkKEIH" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-22423adf751so109605785ad.2 for ; Tue, 18 Mar 2025 16:00:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1742338855; x=1742943655; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NRK1BYeq9oENOjqMtHoyse0xgVkJUai4Nnq/5BnLYx4=; b=nlIkKEIHwMf3cR4Wk3WJjBcUVgZxE+HKLvJNp+cei7lFycQs8fI6bl4zC8qtoeinUn NMrOBHTFrc2HpG+mKoCL21nG3h8l/uMsKwDx1HkDzUX0BXzXoE3vrWzOZDbjDioMbk9R X4vrMkRAtpEPxYqHbKsMApSP7aCBNK5AKZ5QwZHkBV+BXhlUDydjG5Bh1Q2e7iVI9I2w ttNUKF4Q0CXIW2fNmLk8clxzZG9nWHMdTT0femhHz0UOngkhaEN4F/VRXRXysq03iIb0 elKF3FjoUTRWtMPfOr0gQ6gA4zJGl0mMagmisUaLRoL6BCExH6ymVZ8uu57yxSLk14CN icjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742338855; x=1742943655; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NRK1BYeq9oENOjqMtHoyse0xgVkJUai4Nnq/5BnLYx4=; b=anndBB+ejrrwyac69ThM+JH5ANgYl6VyXQ3Dm8qkI/KOUmfByHy68ZP5Sx8Ets5XGg iey8LGlPO+DgBvHmKKqqEmnqEAzN4KnBjbYRXJKlOJ5D6CBQ4R4CD96xVOofWPvZgj8D Q7k/0NAlMNKINKD3otEKXWWxZRR565/ZjZZIU1Kj8mj43JoOVuO4SZuTSXyNsPIKe55r gcio5mIKQivmZjr2ftwP8v17Gr5I2OfNTEQFYjX6EkecubWHS1uLRTqU7tNca6OOcxMd pFp8s9vBqxO8CVhBBwUWsvCpKzGr+IrvaXJ3u1SIwpJ5bpVWSYSw9VC5kkDC43cmwnTO wnnw== X-Forwarded-Encrypted: i=1; AJvYcCU9Uvua21p1ePnGJW1gBrR+yCFS2oe6hlKCk1ePLz/W+yllwg2nGPF/jf4HX13sBrMU+peFUyw8vvbdLZo=@vger.kernel.org X-Gm-Message-State: AOJu0YyLMQl/H2t3VcbHWNAz75taGv+XvfLKxPHMG/uDReOVcmYyywOt rlJdDq1rwuRQXECyBLMrEkbIttukN0JD7d61b13pQW9q8F0xcpryevH+8id9iyI= X-Gm-Gg: ASbGncvxRp1Kll5YDtGc7x61toVGyJgtSoBHFFjOniP0UzeLM6YT2VPjk17XLnbfqEU 1qoQNwxM7EhloYy6BUKG0Cc023XeTD2FfORXmIDxjDP6iHXXjC4RF3SvIyJbxrXccY/f/qtzay4 crvRn1SvVMjFsoqo9IHSDI+hOQ74/f64+4Omw3ridF2tGWn3YahLZSE8mc/2EqkhKfr6VhTlfT5 /2cyvIsfAcVnTpAph69G90pLzEv9Cbna6rNDo0C4pKS2z7c+QGPh0++Gi/AjFpQaUQTzQp1E7fv 5kapm9jPGSQgmzf4TVe/XFvu5F3BWKo020otWjbbJ+7KVakKWU+cJ4wcE+7k1gj5ZKrqIk4QN6x dSKBHPpKSiaDh4MsROg== X-Google-Smtp-Source: AGHT+IHdNYudNQrKRJYbNO8tKZv7fexJeXFTkUuajSjQrqfC+IP76hd/8HGEo15LPdOK5Ylw/STnrA== X-Received: by 2002:a17:903:41c2:b0:223:2630:6b82 with SMTP id d9443c01a7336-2264981b460mr7589085ad.10.1742338855286; Tue, 18 Mar 2025 16:00:55 -0700 (PDT) Received: from dev-linux.. (syn-076-088-115-008.res.spectrum.com. [76.88.115.8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-225c6ba6f14sm100739465ad.111.2025.03.18.16.00.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 16:00:54 -0700 (PDT) From: Sukrut Bellary To: Kevin Hilman , Russell King , Rob Herring , Tony Lindgren , Krzysztof Kozlowski , Nishanth Menon , Ulf Hansson Cc: Sukrut Bellary , Aaro Koskinen , Andreas Kemnade , Roger Quadros , Conor Dooley , Santosh Shilimkar , Bajjuri Praneeth , Raghavendra Vignesh , Bin Liu , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, devicetree@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH 1/4] ARM: OMAP2+: Fix l4ls clk domain handling in STANDBY Date: Tue, 18 Mar 2025 16:00:39 -0700 Message-Id: <20250318230042.3138542-2-sbellary@baylibre.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250318230042.3138542-1-sbellary@baylibre.com> References: <20250318230042.3138542-1-sbellary@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Don't put the l4ls clk domain to sleep in case of standby. Since CM3 PM FW[1](ti-v4.1.y) doesn't wake-up/enable the l4ls clk domain upon wake-up, CM3 PM FW fails to wake-up the MPU. [1] https://git.ti.com/cgit/processor-firmware/ti-amx3-cm3-pm-firmware/ Signed-off-by: Sukrut Bellary --- arch/arm/mach-omap2/clockdomain.h | 1 + arch/arm/mach-omap2/clockdomains33xx_data.c | 2 +- arch/arm/mach-omap2/cm33xx.c | 14 +++++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockd= omain.h index c36fb2721261..86a2f9e5d0ef 100644 --- a/arch/arm/mach-omap2/clockdomain.h +++ b/arch/arm/mach-omap2/clockdomain.h @@ -48,6 +48,7 @@ #define CLKDM_NO_AUTODEPS (1 << 4) #define CLKDM_ACTIVE_WITH_MPU (1 << 5) #define CLKDM_MISSING_IDLE_REPORTING (1 << 6) +#define CLKDM_STANDBY_FORCE_WAKEUP BIT(7) =20 #define CLKDM_CAN_HWSUP (CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_DISABLE_AUTO) #define CLKDM_CAN_SWSUP (CLKDM_CAN_FORCE_SLEEP | CLKDM_CAN_FORCE_WAKEUP) diff --git a/arch/arm/mach-omap2/clockdomains33xx_data.c b/arch/arm/mach-om= ap2/clockdomains33xx_data.c index 87f4e927eb18..c05a3c07d448 100644 --- a/arch/arm/mach-omap2/clockdomains33xx_data.c +++ b/arch/arm/mach-omap2/clockdomains33xx_data.c @@ -19,7 +19,7 @@ static struct clockdomain l4ls_am33xx_clkdm =3D { .pwrdm =3D { .name =3D "per_pwrdm" }, .cm_inst =3D AM33XX_CM_PER_MOD, .clkdm_offs =3D AM33XX_CM_PER_L4LS_CLKSTCTRL_OFFSET, - .flags =3D CLKDM_CAN_SWSUP, + .flags =3D CLKDM_CAN_SWSUP | CLKDM_STANDBY_FORCE_WAKEUP, }; =20 static struct clockdomain l3s_am33xx_clkdm =3D { diff --git a/arch/arm/mach-omap2/cm33xx.c b/arch/arm/mach-omap2/cm33xx.c index acdf72a541c0..a4dd42abda89 100644 --- a/arch/arm/mach-omap2/cm33xx.c +++ b/arch/arm/mach-omap2/cm33xx.c @@ -20,6 +20,9 @@ #include "cm-regbits-34xx.h" #include "cm-regbits-33xx.h" #include "prm33xx.h" +#if IS_ENABLED(CONFIG_SUSPEND) +#include +#endif =20 /* * CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield: @@ -328,8 +331,17 @@ static int am33xx_clkdm_clk_disable(struct clockdomain= *clkdm) { bool hwsup =3D false; =20 +#if IS_ENABLED(CONFIG_SUSPEND) + /* + * In case of standby, Don't put the l4ls clk domain to sleep. + * Since CM3 PM FW doesn't wake-up/enable the l4ls clk domain + * upon wake-up, CM3 PM FW fails to wake-up th MPU. + */ + if (pm_suspend_target_state =3D=3D PM_SUSPEND_STANDBY && + (clkdm->flags & CLKDM_STANDBY_FORCE_WAKEUP)) + return 0; +#endif hwsup =3D am33xx_cm_is_clkdm_in_hwsup(clkdm->cm_inst, clkdm->clkdm_offs); - if (!hwsup && (clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) am33xx_clkdm_sleep(clkdm); =20 --=20 2.34.1