Message ID | 20240111-qrb2210-rb1-no-cluster-idle-v1-1-cec14ec15b02@linaro.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-22951-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2411:b0:101:2151:f287 with SMTP id m17csp1178270dyi; Wed, 10 Jan 2024 18:04:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IES0r2aJfcJJQ+z1E5kEKcFrugfmLPFP3UI9fwamipXEmgkEH+rlgugv5bPRTqR0XFZZ3ux X-Received: by 2002:a05:6a20:42a9:b0:19a:26d2:4434 with SMTP id o41-20020a056a2042a900b0019a26d24434mr351794pzj.13.1704938669488; Wed, 10 Jan 2024 18:04:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704938669; cv=none; d=google.com; s=arc-20160816; b=bzW0brfakzRoAZcbkn+ZPMkXFu0rCK3stP5xY1VqIAkutlQ+mawYZjsOMCwIWsh/S7 BM0/KVopgzgW7LAl20RA5T/4I58Qq5ZyZVEdgqTKU9anbZ565jKozJ/F1wrZlj7R2j4t FTrfyA7XZVMrg8tRWlKlmLztXf9BB8hwyqSGq+oSzxN+yhBINBIgw3OnelVcppjEhqJx 3jdn7xlR90f3KBwp4q5qqb8sOQ1jUKTFZRyE7cQsuNdjL37qRDNaVU1q98bQu5B4CUty mKjg4QF0ctMfScUMY1O5CM+K+a6UWeLjJ6ASVw9UQwadW6bw1/V7mJlY8tF6M7F4BMlU EcGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:message-id:content-transfer-encoding:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:subject:date :from:dkim-signature; bh=80ZQ2XBHcD/YCySePR/gE1GYB4EFyeK55yDHDBjNrps=; fh=bQV60l9EeB9Z9vHnI0eNK+RJHXX5uS9FayEFNdRKp0I=; b=N0eTBOY07ElaBX5NIo2uVdyRAf4vnZe3deeQq3BWWGxcuhXrHwOxtmvSYaIVP0u+ed JoVex98Cl+X9B0T89GYz0EBJVLPgPO9+mcLk8rGLLcNoI9Bu4txlzF1S0yhHbBWFuM+i ra1K0KkQaM3tfDcvkHgEEMr0vIMzr8VtF6eCA3NsZ9j0JMSshMrEGZtuyz/v8wpZ3a// qxbs7wdqAHxCtVjCvhLsSOjRBYeHqQjDQCJ2gu1Ce9EEW3fdpgUBh5FqiIBCb9bOS3nr RNBQKsObkN1A4iHtCmq4HqvlA0C/zq3PJrV+jdrGWjyUKubP1rLfkDCHvB0ZlDG1/M10 Ct7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tZ2EFjdn; spf=pass (google.com: domain of linux-kernel+bounces-22951-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-22951-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id kc4-20020a17090333c400b001d4b3d04591si6245plb.601.2024.01.10.18.04.29 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jan 2024 18:04:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-22951-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tZ2EFjdn; spf=pass (google.com: domain of linux-kernel+bounces-22951-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-22951-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4487E28B9D3 for <ouuuleilei@gmail.com>; Thu, 11 Jan 2024 02:04:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 89E3510F3; Thu, 11 Jan 2024 02:01:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="tZ2EFjdn" Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (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 ABB8CF9F0 for <linux-kernel@vger.kernel.org>; Thu, 11 Jan 2024 02:01:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-50e766937ddso5541210e87.3 for <linux-kernel@vger.kernel.org>; Wed, 10 Jan 2024 18:01:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1704938481; x=1705543281; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=80ZQ2XBHcD/YCySePR/gE1GYB4EFyeK55yDHDBjNrps=; b=tZ2EFjdn0IrHVWLZsWiNkAJpt75Q90ZHDkWHvInAaOQfyYfyRCndnnOzbqvALbSyWJ KJdNUdgpqJsAjRtZDtWrycQdiwsdXNBJivwXc0I9scBfmJGRKAH/eP69xvco88oribZt IAU+Bo/eUZ5PmFkQekl9yMpY7YSs9a2rGLUr+RIbF5+mOXSi8Qi+DKepGbZ4XPSKYYTh AB1gTrvOMLweyk0yDGl+Eovf7DRgjmrskfTxwSfiJRirVBNI6+Zsczwi9DA8poyegRuE Gc/qBomOYT4jddMc8J2MSWtCktYQKOuNIYpMjvETBpY51uEuWZdWdwD3J6oelTSb4wdc T5Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704938481; x=1705543281; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=80ZQ2XBHcD/YCySePR/gE1GYB4EFyeK55yDHDBjNrps=; b=Btn4rAcjhuQL2TkoTTYmDSQfdfo4sL2CLMA6mRG0RM3MfogYnjJTNRqZevHosDjw+v MXFdOwIuQTVdVC0F25/G9G8L39rdMjZ1gne8c2rKwPTJjKBSISfOoVrnKNu+1QGmrRjz m+/jQvAIzCY5DYt2sWezORZears0Pt2ptJ6gye9wQpZ2aug2rUbLlJ6mUm/+s6o1IAyh OOP0lTLWCV0bcQpZH1cAtyRyL5APBnnMSDS06210wa2PXpK4baG2rensYt2U7vzC1vu4 AoF3BnHvQkTsyx4Y2SupLKUrAlNSyhjItliwRrWu0lKDveZ6DYsQTlluPCb2x5Hch3Wc NRtQ== X-Gm-Message-State: AOJu0YxE/Q4q178ZaghGQuuWPYT855FXN/psB4TAxn+oXRY74qQ+okXm gFD2BTAHdjMPVWOOcI7belnFzJV+IQW1GkObpk709XQHVne4kA== X-Received: by 2002:ac2:4849:0:b0:50e:ca83:b00d with SMTP id 9-20020ac24849000000b0050eca83b00dmr150087lfy.69.1704938481646; Wed, 10 Jan 2024 18:01:21 -0800 (PST) Received: from umbar.lan ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id i22-20020a056512319600b0050e71d44aaasm18049lfe.114.2024.01.10.18.01.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jan 2024 18:01:21 -0800 (PST) From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Date: Thu, 11 Jan 2024 04:01:14 +0200 Subject: [PATCH] arm64: dts: qcom: qrb2210-rb1: disable cluster power domains Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20240111-qrb2210-rb1-no-cluster-idle-v1-1-cec14ec15b02@linaro.org> X-B4-Tracking: v=1; b=H4sIAOlLn2UC/x3M0QqDMAxA0V+RPC/QxA7BXxk+WE1dQOpM5xhI/ 93i44HLPSGLqWTomxNMfpp1SxX0aGB6j2kR1Lka2LF3RIS7BWZyaIEwbTitR/6K1WoV7EL0bWh H558M9fAxifq/76+hlAsCZ1+KbQAAAA== To: Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org> Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Dmitry Baryshkov <dmitry.baryshkov@linaro.org> X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=openpgp-sha256; l=1436; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=8HKGa8Kwse7VRXwZhEuEHdjDMOmygc0So9kXb5bJMNc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBln0vw7Agg83Y1SmerhKGYnna2qBH841vt6E0Yp vWa8F1n8ziJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZZ9L8AAKCRCLPIo+Aiko 1SouB/sGurPKSCyL4jsr/GU3Qt6OF9HfBBSiTMpk4s1Uu41soLaHxdClFH8UetzCB3QHgfmiAie ZCaaAb4tzPRd40mvEB+MNIME7bfTc8vdQnG48Xlanu1jzxqIV8HyuQnQy6AQwl0fC9UaH7HwqgP orP5cggENxWINBvmWkSpYgqjfjgOKDIWATVSa0IM4IklYYzbPcozVzrmiUktRg9ARCY9+idnNH1 K+9+qwZRwvai11gzE87S0LywFGpfnhHpPwj72nWsdDdtQywnCJCMFxzlpHXVyywqya04ccD96Gf T9hGBy+w9EjOikD2CTLP2J6ND8V9PtY1p8CI3fF8yApPPiAv X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1787757769962532204 X-GMAIL-MSGID: 1787757769962532204 |
Series |
arm64: dts: qcom: qrb2210-rb1: disable cluster power domains
|
|
Commit Message
Dmitry Baryshkov
Jan. 11, 2024, 2:01 a.m. UTC
If cluster domain idle state is enabled on the RB1, the board becomes
significantly less responsive. Under certain circumstances (if some of
the devices are disabled in kernel config) the board can even lock up.
It seems this is caused by the MPM not being pinged during CPU idle (in
the same way the RPMh is pinged when cluster idle is entered).
Disable cluster domain idle for the RB1 board until MPM driver is fixed
to cooperate with the CPU idle states.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
---
base-commit: 39676dfe52331dba909c617f213fdb21015c8d10
change-id: 20240111-qrb2210-rb1-no-cluster-idle-7bf43b3a0452
Best regards,
Comments
On Thu, Jan 11, 2024 at 04:01:14AM +0200, Dmitry Baryshkov wrote: > If cluster domain idle state is enabled on the RB1, the board becomes > significantly less responsive. Under certain circumstances (if some of > the devices are disabled in kernel config) the board can even lock up. > > It seems this is caused by the MPM not being pinged during CPU idle (in > the same way the RPMh is pinged when cluster idle is entered). > What does "ping" mean here? Please be more specific. - Mani > Disable cluster domain idle for the RB1 board until MPM driver is fixed > to cooperate with the CPU idle states. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > index aa53b6af6d9c..9a0308ef8b0f 100644 > --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > @@ -177,6 +177,24 @@ vph_pwr: regulator-vph-pwr { > }; > }; > > +&CPU_PD0 { > + /delete-property/ power-domains; > +}; > + > +&CPU_PD1 { > + /delete-property/ power-domains; > +}; > + > +&CPU_PD2 { > + /delete-property/ power-domains; > +}; > + > +&CPU_PD3 { > + /delete-property/ power-domains; > +}; > + > +/delete-node/ &CLUSTER_PD; > + > &gpi_dma0 { > status = "okay"; > }; > > --- > base-commit: 39676dfe52331dba909c617f213fdb21015c8d10 > change-id: 20240111-qrb2210-rb1-no-cluster-idle-7bf43b3a0452 > > Best regards, > -- > Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > >
On Thu, 11 Jan 2024 at 06:45, Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> wrote: > > On Thu, Jan 11, 2024 at 04:01:14AM +0200, Dmitry Baryshkov wrote: > > If cluster domain idle state is enabled on the RB1, the board becomes > > significantly less responsive. Under certain circumstances (if some of > > the devices are disabled in kernel config) the board can even lock up. > > > > It seems this is caused by the MPM not being pinged during CPU idle (in > > the same way the RPMh is pinged when cluster idle is entered). > > > > What does "ping" mean here? Please be more specific. See rpmh_rsc_pd_callback(), rpmh_flush() and rpmh_rsc_write_next_wakeup(). RPMh driver (among other things) on entering the idle writes the next wake up time to the RPMh. The MPM driver in the vendor kernel does the same, see msm_mpm_timer_write() in msm-4.19 > > - Mani > > > Disable cluster domain idle for the RB1 board until MPM driver is fixed > > to cooperate with the CPU idle states. > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > --- > > arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 18 ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > > index aa53b6af6d9c..9a0308ef8b0f 100644 > > --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > > +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > > @@ -177,6 +177,24 @@ vph_pwr: regulator-vph-pwr { > > }; > > }; > > > > +&CPU_PD0 { > > + /delete-property/ power-domains; > > +}; > > + > > +&CPU_PD1 { > > + /delete-property/ power-domains; > > +}; > > + > > +&CPU_PD2 { > > + /delete-property/ power-domains; > > +}; > > + > > +&CPU_PD3 { > > + /delete-property/ power-domains; > > +}; > > + > > +/delete-node/ &CLUSTER_PD; > > + > > &gpi_dma0 { > > status = "okay"; > > }; > > > > --- > > base-commit: 39676dfe52331dba909c617f213fdb21015c8d10 > > change-id: 20240111-qrb2210-rb1-no-cluster-idle-7bf43b3a0452 > > > > Best regards, > > -- > > Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > > > > > -- > மணிவண்ணன் சதாசிவம்
On Thu, Jan 11, 2024 at 08:02:32AM +0200, Dmitry Baryshkov wrote: > On Thu, 11 Jan 2024 at 06:45, Manivannan Sadhasivam > <manivannan.sadhasivam@linaro.org> wrote: > > > > On Thu, Jan 11, 2024 at 04:01:14AM +0200, Dmitry Baryshkov wrote: > > > If cluster domain idle state is enabled on the RB1, the board becomes > > > significantly less responsive. Under certain circumstances (if some of > > > the devices are disabled in kernel config) the board can even lock up. > > > > > > It seems this is caused by the MPM not being pinged during CPU idle (in > > > the same way the RPMh is pinged when cluster idle is entered). > > > > > > > What does "ping" mean here? Please be more specific. > > See rpmh_rsc_pd_callback(), rpmh_flush() and rpmh_rsc_write_next_wakeup(). > > RPMh driver (among other things) on entering the idle writes the next > wake up time to the RPMh. The MPM driver in the vendor kernel does the > same, see msm_mpm_timer_write() in msm-4.19 > Okay, thanks for the explanation. It'd be good if you have mentioned this in the commit message as it is not obvious for one to understand what "ping" means. - Mani > > > > - Mani > > > > > Disable cluster domain idle for the RB1 board until MPM driver is fixed > > > to cooperate with the CPU idle states. > > > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > > --- > > > arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 18 ++++++++++++++++++ > > > 1 file changed, 18 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > > > index aa53b6af6d9c..9a0308ef8b0f 100644 > > > --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > > > +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts > > > @@ -177,6 +177,24 @@ vph_pwr: regulator-vph-pwr { > > > }; > > > }; > > > > > > +&CPU_PD0 { > > > + /delete-property/ power-domains; > > > +}; > > > + > > > +&CPU_PD1 { > > > + /delete-property/ power-domains; > > > +}; > > > + > > > +&CPU_PD2 { > > > + /delete-property/ power-domains; > > > +}; > > > + > > > +&CPU_PD3 { > > > + /delete-property/ power-domains; > > > +}; > > > + > > > +/delete-node/ &CLUSTER_PD; > > > + > > > &gpi_dma0 { > > > status = "okay"; > > > }; > > > > > > --- > > > base-commit: 39676dfe52331dba909c617f213fdb21015c8d10 > > > change-id: 20240111-qrb2210-rb1-no-cluster-idle-7bf43b3a0452 > > > > > > Best regards, > > > -- > > > Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > > > > > > > > > -- > > மணிவண்ணன் சதாசிவம் > > > > -- > With best wishes > Dmitry
On 1/11/24 03:01, Dmitry Baryshkov wrote: > If cluster domain idle state is enabled on the RB1, the board becomes > significantly less responsive. Under certain circumstances (if some of > the devices are disabled in kernel config) the board can even lock up. I got that $sometime ago, but can't repro now.. which devices being disabled would cause the hang? Konrad
On Thu, 11 Jan 2024 at 15:09, Konrad Dybcio <konrad.dybcio@linaro.org> wrote: > On 1/11/24 03:01, Dmitry Baryshkov wrote: > > If cluster domain idle state is enabled on the RB1, the board becomes > > significantly less responsive. Under certain circumstances (if some of > > the devices are disabled in kernel config) the board can even lock up. > > I got that $sometime ago, but can't repro now.. which devices being > disabled would cause the hang? It was reproducible with 6.4. without this patch. With 6.6 I can not easily reproduce the hang, but the delays / responsiveness is easy to reproduce. Compare for example 'ps' output with and without this patch.
diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts index aa53b6af6d9c..9a0308ef8b0f 100644 --- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts +++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts @@ -177,6 +177,24 @@ vph_pwr: regulator-vph-pwr { }; }; +&CPU_PD0 { + /delete-property/ power-domains; +}; + +&CPU_PD1 { + /delete-property/ power-domains; +}; + +&CPU_PD2 { + /delete-property/ power-domains; +}; + +&CPU_PD3 { + /delete-property/ power-domains; +}; + +/delete-node/ &CLUSTER_PD; + &gpi_dma0 { status = "okay"; };