From nobody Mon Jun 15 00:20:28 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21444378815 for ; Tue, 7 Apr 2026 09:31:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554292; cv=none; b=QGBtk44VjhQ37PpQNskGfssoF9GDoYoGfmceBcPzFRSzeb+29y5FmBi6UZAnxH5zTOOEDdRQ1+ix25KL4mdCprp2DmVdHjkZsTlLbwIlmp1pCbWx68joDf93GJj+fipopwRr2IrcqXwVvke4bnisLYvQregJKjM4r4UtHf1Tw+E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554292; c=relaxed/simple; bh=aXHT79v/7oLdbyzrr1UpPfg1SOQCQEJgRDXGeMNs4js=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VlHfYJlxzjfOwV6Txtrk+1cl9jaMJbsnh1oaVgIG9hJbI2EAIotCEeQOAWG8H4u0X2RdEhR8gVcpEUr61VfspRUCdllKxHQ8BROXPY7QJH8UdJccPodKs5tv/NCNFaxNun0wKq7tOXprXejNRG7ksiRUcDA/IZ7pLHt+iQw80ZU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=RzmRA1WQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Jcym6Ogj; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="RzmRA1WQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Jcym6Ogj" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6376nn2W2550321 for ; Tue, 7 Apr 2026 09:31:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= vjxepcNfcMFp0kM4FwikjtT6M4X71nel3jc1Rp4eDPk=; b=RzmRA1WQC21TiocN GJ0ald+eVXqwFx9+c/RuktHOrXgNsFoXWlk0PQrx8zLVS7uT8Jiy8aatFZujH+M+ GOrQagM8No/lWDadgrDj+ehFnZTrwqMsrEswI4+Bp+bfxr/K4Hh5PkUqNCdUcKUF QVDfi45Z1yktVIUXq2U58UFdsHUiRGNTipu8fPF7ql8ZnwghRblLXC4YhecIWjBb GnnYlOde/eW6PgESM+v3CQ9bXEGF/pnzvhZARGERUMxlN89+niNEe3VV0FSJ0PPr toBIJaorlDrlughJaGDEJaNTUQozTvUlQJE/5FIXHz9dyhNc0eDlFZ07+KxNefep vDs55w== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dcmrea2n3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Apr 2026 09:31:30 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2b0c30b51bfso105699135ad.0 for ; Tue, 07 Apr 2026 02:31:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775554290; x=1776159090; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=vjxepcNfcMFp0kM4FwikjtT6M4X71nel3jc1Rp4eDPk=; b=Jcym6Ogj/GGrABLwRbOKp7QIR1u5HFni1G3Yox1Vl6RR2si482HEoJCS0t+TVOSbWq mW+5xlHqZIzX4ubN5aV1kz5UvCHEmq5sM59ibFJaKuodpWIZsbNt9cHH4ChfL3WW5Rff zOfjs/HViiFFXOBfEn6dVDWuW4wbuf84J6/k5LYDIYspqOIe6onylVeCz/kM1EuOn1iq xAMWJmvCPJkfY6mzlo+2D+JH2OSZLQs8xfz73ErQ1Epb06p6Hci+Agzm++OTpfQdyIwa Byr3BCFfiwMBHv4PSJUW3rlGlNn2GzVukJi6hjS6kjkz01A+uXq9M1WckUPbMvJSBLcl 41Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775554290; x=1776159090; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=vjxepcNfcMFp0kM4FwikjtT6M4X71nel3jc1Rp4eDPk=; b=RMuFbvOQqM/4Ic+e7rroujU2wX7Q3GyY+m9iJ+fyNA+tDT8uNUEFEgu48yKOMaC1cx AZfE/mUxONMd9mUGXaMksT71xT0rdjG+oFasq4+ivnB8w1MG0ce41Bi4T9+6Gqg3YJJX rzl5BZXQemYEfXjF0xWCiL19drnGmhOfYLBNEPxO8r7pfigTYB/mjJeoc+cJgaimHln3 GlBB6dERy5g+3Ll7bVgoRDNstPhV+JygUFp5W0XyIy8xsr+ovrdAs3S4qBlCrLUCfPCa tezhwizn/BMLKh2HxYm3SYH63sttFgIWy9Z196wUY9R55nbAs4swttYVNQucR9qXt8O9 Ahgw== X-Forwarded-Encrypted: i=1; AJvYcCX0gIrn9GPsN5mGWGiJ19XM86PRFcAaUQDHK6E7Bs28dn3CboR9IUj226/O/CVepb8C2TIOQnQL9S2tJ+4=@vger.kernel.org X-Gm-Message-State: AOJu0Yxlc5rRgfw1Ss8bHgLl9avFF/JsVmx1fyTIAjWVAzyRdMzVk+RV aYcVgzFIk4nFFOc6DU83JfQY+F1mvCwLPvMOMq6EzPAvTAVeZwHJNIMM6f3Whj/EAmf1PRJBgLD zbpdBLpcJ1JteDMkgCERiEdjF1sidMMGdfEvuDSiK2GGqzjR+tX4y9jziWEYVkXYC7vU= X-Gm-Gg: AeBDievLuSzis5529s1C15BzJBNFcPHh5SlmiTL7tQ3D3oz5lc/1SJ3avE0B1F6RA9B gsbsB0fAZOSdqCYFlKs+YyK3ToJDb4FiTHCQ2lF9MAhFVFdg5WUx30DUWfp5muS4clGVrm4lmy1 HiCwHIxQM+1juZW2SbQsFdmSCyWygO0YCR37Myl5Fu/C/APz+1ToioeU7Uus8oyiPBeo4hrZnlA ZqWU/n8sx1omGxVB5G27qIs5Qzv7XZDwnbYiQ2QJDyErI3gZ0cO0CkwyOS5UxV3DcokDduRY8bZ SooeE6FOGhrQmbtPD5iGFtB7LFkv+BxxhroxOP4nO0w82iE5EQmBrvRqRfeUBu0Vq+63dw1BnkB g5qBvloA0NzH7RMWTvsmCfZYVjFxpV9ac0hHD9mKMkxAyIg== X-Received: by 2002:a17:903:1b4b:b0:2b2:5c31:24bf with SMTP id d9443c01a7336-2b28175bf51mr176450145ad.19.1775554289483; Tue, 07 Apr 2026 02:31:29 -0700 (PDT) X-Received: by 2002:a17:903:1b4b:b0:2b2:5c31:24bf with SMTP id d9443c01a7336-2b28175bf51mr176449715ad.19.1775554288963; Tue, 07 Apr 2026 02:31:28 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b27478bc96sm172888365ad.33.2026.04.07.02.31.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 02:31:28 -0700 (PDT) From: Taniya Das Date: Tue, 07 Apr 2026 15:00:51 +0530 Subject: [PATCH 1/6] clk: qcom: gdsc: Add custom disable callback for GX GDSC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260407-gfx-clk-fixes-v1-1-4bb5583a5054@oss.qualcomm.com> References: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> In-Reply-To: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Konrad Dybcio , Abel Vesa , Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Authority-Analysis: v=2.4 cv=OKEXGyaB c=1 sm=1 tr=0 ts=69d4cef2 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=6udHJU8j9nUP921WRPkA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: izLUGOTODr_i_4Y59aIa_JoacP0EO8rN X-Proofpoint-ORIG-GUID: izLUGOTODr_i_4Y59aIa_JoacP0EO8rN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA3MDA4NyBTYWx0ZWRfX/8behxTdkA00 SDGq5cpB/UauSztcDe8XnrP9BrIp+ukPRP/6eci07RlEjGWbM15MrzotvSFLkLl2SvAJ5LYKcQe 8qXZ1CvtH65TRWu4W/pVozqlEZyMswv9vVzDG9BP1/R3BT7exVkCgW2XrBjogoZPuuEwfmO+wca ZbaMG10/e5fWs+dUUgDQ+TNgzMQTSDV+Y33WmKG7FFb3gG8rMpz921T613AyfueGrZnM7doIR54 FSnfU3R0zx0HgztKKymYBb5Q4pFQ8Qt2/IzPAMVt+12L83Jonabony3LX4dzV4PL4MdfP3SSxY7 W+jMQniZwB9utLLY4CIwsW2LN1Vtit5pW74Y8O7QT8wXFnduqU/OePpP7yONQnZwxnh40EW0K1Z VHjKZBZfzuAwe2BV7skTksBaASMWh7/GRoUUtmKyzIaNhZUupC2GJ3QN/+0xMZeF5zQYpb6lpNL O1vAcv7xmd3hDn9iHYQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-07_02,2026-04-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 malwarescore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604070087 From: Jagadeesh Kona The GX GDSC is a special power domain that should only be disabled by OS during GMU recovery. In all other scenarios, the GMU firmware is responsible for handling its disable sequence, and OS must not interfere. During the resume_noirq() phase of system resume, the GenPD framework enables all power domains and later disables them in the complete() phase if there are no active votes from OS. This behavior can incorrectly disable the GX GDSC while the GMU firmware is still using it. To prevent this, implement a custom disable callback for GX GDSC that relies on GenPD=E2=80=99s synced_poweroff flag. The GMU driver sets this fl= ag only during recovery, allowing OS to explicitly disable GX GDSC in hardware in that case. In all other situations, the disable callback will avoid touching GX GDSC hardware. Signed-off-by: Jagadeesh Kona Signed-off-by: Taniya Das --- drivers/clk/qcom/gdsc.c | 22 ++++++++++++++++++++++ drivers/clk/qcom/gdsc.h | 1 + 2 files changed, 23 insertions(+) diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c index 95aa071202455421d818171d04f95d15e2b581fa..ab5d741a2e2351bfac06a6814c5= a8ba7355bc8bc 100644 --- a/drivers/clk/qcom/gdsc.c +++ b/drivers/clk/qcom/gdsc.c @@ -675,3 +675,25 @@ int gdsc_gx_do_nothing_enable(struct generic_pm_domain= *domain) return ret; } EXPORT_SYMBOL_GPL(gdsc_gx_do_nothing_enable); + +/* + * GX GDSC is a special power domain. Normally, its disable sequence + * is managed by the GMU firmware, and high level OS must not attempt + * to disable it. The only exception is during GMU recovery, where the + * GMU driver can set GenPD=E2=80=99s synced_poweroff flag to allow explic= itly + * disable GX GDSC in hardware. + */ +int gdsc_gx_disable(struct generic_pm_domain *domain) +{ + struct gdsc *sc =3D domain_to_gdsc(domain); + + if (domain->synced_poweroff) + return gdsc_disable(domain); + + /* Remove parent-supply placed in enable */ + if (sc->rsupply) + return regulator_disable(sc->rsupply); + + return 0; +} +EXPORT_SYMBOL_GPL(gdsc_gx_disable); diff --git a/drivers/clk/qcom/gdsc.h b/drivers/clk/qcom/gdsc.h index dd843e86c05b2f30e6d9e978681580016333839d..495daebaf99519ba0571070b41d= 133ee867c4fd3 100644 --- a/drivers/clk/qcom/gdsc.h +++ b/drivers/clk/qcom/gdsc.h @@ -88,6 +88,7 @@ int gdsc_register(struct gdsc_desc *desc, struct reset_co= ntroller_dev *, struct regmap *); void gdsc_unregister(struct gdsc_desc *desc); int gdsc_gx_do_nothing_enable(struct generic_pm_domain *domain); +int gdsc_gx_disable(struct generic_pm_domain *domain); #else static inline int gdsc_register(struct gdsc_desc *desc, struct reset_controller_dev *rcdev, --=20 2.34.1 From nobody Mon Jun 15 00:20:28 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A8C3E1F192E for ; Tue, 7 Apr 2026 09:31:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554299; cv=none; b=cfvHOojBEyFJti3UZWDgI1qOJOGQYMJAOYI0ID7gS0iFLZlhwy4CSOHOGxx/uht6F5nLYM7GEcYGTDTD9K97/Erp8IWXqewGc9c5COIkusPQTDhWhHtBUzMPukYm2PePwj2xWKNFx9swByWvMtN3pcO9S+8pS9REb6SJOBCZVwc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554299; c=relaxed/simple; bh=5NO0Fd42towIS40//QdgD2H+fOt/M3cbf891ePrQMCc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Hot+xEQSLlJIF+tAXLjLkH4+NWhzfD4u5/7LxKWjWT62RFzy3vbNT7MWsJJ6/VbI56xOb0bNT7dVWhlJerVfkk9zdSE0XNxpWb+MHw+JKtZQ9Fq+ur7tpk9kUQF5VldE4Mgvfmw2Hof9XXscAqcj17quhsPOj3wdH3gP0J8qRWI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=bbH9fGus; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=itEwDLiF; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="bbH9fGus"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="itEwDLiF" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6376bKvm4009056 for ; Tue, 7 Apr 2026 09:31:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= KK5gjgnaalniXHVQETjquADftfg1WO+N6PsIIlecERI=; b=bbH9fGusY9Nosdil zvPpKkdKOk9iwDUSH3MNOUa3h7rm0A4Fhyo2uKZX13wI+OXgkOy1jWXzo2tA5ZPG b/9mZ666FH44XDFmteP098d6D/ZDeKo5/KzP88OY/jVdpG82zifEKuLFw8ReDg5p 8Ij7CvYQSU88KUC0nuF4ePeopRqF9eVzNWeFFTVduxHoH4L+mWCX9bGbhKHpX+2O oCdYri0USs5e2US8vLQH2vBLLIrzAABJ0DYjAu94IzZ0W+hQ0wrVqV/hGnqizYmU iA77W9tHgERWUg1BRUXG5t+8k79cn+Yh4v9XyOe79jmyPHBCGUDrQSjn3Ou+qm4O WPO0Vw== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dcmrkt1ab-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Apr 2026 09:31:37 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2b23af7d7e8so136070095ad.0 for ; Tue, 07 Apr 2026 02:31:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775554297; x=1776159097; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=KK5gjgnaalniXHVQETjquADftfg1WO+N6PsIIlecERI=; b=itEwDLiFTLU/DN7VL8NXRIdOxgYETCkRuoRCDGaebGaz+eKQmGxnrugFCeJRId2L0T lqqRLzY4unLO1p8yV/KRMsk6AFNxtMNQQdZsnvsXlE1TJ6i3kLPV55MEC+6b/GbyqNft hB0+imxQVAp92dyb7Ovf0Mus6Xf/MI4+Ws6VFwGuPhxAx2CVbR/W5mVarMHH+Nb2t2Q3 AQyiO+opuGwNkg/nb0QhUt4eJRZudNpijl2iwJm/Yu49n77uuyFNAdfxvlmwz4tEdUkz ccOwuiPaXwb+F9pD89dLTFIyq6WKhfVGptzjCIwl0gfPVHbdYDpFlrkrcdy3c7AiBAO8 MWPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775554297; x=1776159097; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=KK5gjgnaalniXHVQETjquADftfg1WO+N6PsIIlecERI=; b=L3Kg1cqc4mvhrklxCgXAVMkSiwtD7hNrl0Dm9mJ8gR9QjkN4cHmgzYEbXJPlBY4EzC nHlZzxLJ6Ccl1/7x09EKVwSIY99Tkt0xQqxWjCiLdg1RH+6P4ZFGhM5NeMoL2l2kNKID Ahs5IJF/COULfNRTlDqWX7dsDD0s7RdIPGa9oFBYHgXL75riiZAYjKkAj/IilnssCrSj pngnqhKf9K0OddaXKYR+ow4XXq+vefKmYnZR/XoOHMXCoDxcRNgYlt0e/92rgY83P+Ff /pQJJbi4Zf9RmhSRLFKnOmAr6fAIkqE3UmatRFv0sBgrVegI8f4MIkJvPo1s2Jm6wbO+ 6dGA== X-Forwarded-Encrypted: i=1; AJvYcCWLZqtXj+7rycC1NDsycV+z8AZPyWQ7uC1wR3/HMpj59NkpFyX+1nP1ins6OaTn5wNXtpH2QGZ1lfiHUHI=@vger.kernel.org X-Gm-Message-State: AOJu0YwZAwpM83VVB6rVvAXQMK+4i6SsNjNp2GqfMgEbxaH7oV/x+9/h Df9Yc0CC/UUl7SYlsbSB0+Y5eRMvsBzHgQhKNPK4/tJZ0qANESJhgWXUvHQ8g1UJItOk9wLk53h w8AHKmVuVKEqDNDG3dK1lyDXH59yu7GsGURx2F7rC3RtYNByqFM9YgThql1js6OHHKS8= X-Gm-Gg: AeBDieuhOfX7+TDHuXWnbfTlSdVxtHaq6MNw8Ih2uWfPc7KIR9TpfPC6xVMq8T8YBs0 ejVMf4igf8qy9syjb2weSfFTIU97d6DSJ4oFYiDajvZhvnISqdJP1EGd7jmVgNpkJ9JM8riv3jf efxsUDB+Lstss/gw0nvL0aqDBVF5qGkuI+ZANwubj/jK00KiVpB9k+TFU03n6JxCpZUhVAutOHL SsdO3jAMRiSU8oLzQU8QcWsrs2/+pp/sGbj6cvmGZOT8Bj5d1hGPEfAlNPNv79zLPAjgwuuOC2L VZjd0M/Nau82iCxSDvyHDukFMHM8dEReKXcJIK8qBPDH3ofiihjBN7wp3G2QhDNfZFNXCj6xRVN uQMX+TijWoFj6quw8UXxJxdss+HcwEKD4U0G5YvwoAyKtew== X-Received: by 2002:a17:903:2c05:b0:2b0:6475:73d0 with SMTP id d9443c01a7336-2b281854f0fmr177278625ad.12.1775554296686; Tue, 07 Apr 2026 02:31:36 -0700 (PDT) X-Received: by 2002:a17:903:2c05:b0:2b0:6475:73d0 with SMTP id d9443c01a7336-2b281854f0fmr177278225ad.12.1775554296196; Tue, 07 Apr 2026 02:31:36 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b27478bc96sm172888365ad.33.2026.04.07.02.31.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 02:31:35 -0700 (PDT) From: Taniya Das Date: Tue, 07 Apr 2026 15:00:52 +0530 Subject: [PATCH 2/6] clk: qcom: gxclkctl: Use custom disable callback for gx_gdsc Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260407-gfx-clk-fixes-v1-2-4bb5583a5054@oss.qualcomm.com> References: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> In-Reply-To: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Konrad Dybcio , Abel Vesa , Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Taniya Das , Pengyu Luo , Alexander Koskovich X-Mailer: b4 0.15-dev-aa3f6 X-Authority-Analysis: v=2.4 cv=Rrz16imK c=1 sm=1 tr=0 ts=69d4cef9 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=r9sBLZ6K9uwiCka_ugMA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: H9wsIxbJqkjCnQmavpiPCd3_gMkNkmLz X-Proofpoint-GUID: H9wsIxbJqkjCnQmavpiPCd3_gMkNkmLz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA3MDA4NyBTYWx0ZWRfXwpp7JaAmgvmZ mb9T6+Fvo/chuxpzgWPoYCTQHkjfEzaQLkGJAwY1eowz0XVQeTOPjSiXyh3Jw1wwwySQM2lfd9Q YQmBzuWlQAEu4Yj/hC821u2iBNf9JCs5jvgDa1toXPlAigoN4ZsvGX7qVFc9OTaM95aPkh3k6dy KdS3EO8JbjOij8CQHTdYHBDTwiO+967F8d6ToKQqB0DHx3k9ncrhE8n2gyiAlhbzh25zbUOxgFc 6stuIQCeaKaCIZDRguAaXYCFhU6HbZUSJ3ZrhjLcI0nwlXtdeoBdQ+utZm1nYR1S1JZQ9owx+LH 1vaR8VzTE0XORmAaQmKPwN8LeEz/i85Hc6qigXzUSS6bQzLJM4rsP+3OhkKC/V/j/eW/vsixauU MLzx2Q/bXamiLbtbJylvA6tuckMWQk+dVUuVMXlkX/gGv62CgDPMteakW40oT3CjmzDwo9PJwhP SWRFh6Xo41J1eTO+P3Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-07_02,2026-04-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604070087 The GX GDSC represents a special GPU power domain that must not be disabled during normal runtime PM flows. As per the GMU architecture, GX GDSC should only be force-disabled during GMU/GPU recovery, where the OS explicitly resets the GX power domain. However, when managed by the generic GDSC runtime PM path, GX GDSC may be disabled during GMU runtime suspend, resulting in warnings such as: gx_clkctl_gx_gdsc status stuck at 'on' and failures in gdsc_toggle_logic() during rpm suspend. Use the newly added custom disable callback for gx_gdsc to ensure the GDSC is toggled only in recovery scenarios, while preventing unintended disable attempts during normal GMU runtime PM operations. Reported-by: Pengyu Luo Closes: https://lore.kernel.org/all/CAH2e8h4Vp9fJYAUUbOmoHSKB25wakPBvmpwa62= BTRqgRQbMWuw@mail.gmail.com/ Reported-by: Alexander Koskovich Closes: https://lore.kernel.org/all/gwVAH2mJerU4dBInw8pKmOs5aQK55Q7W6q_UQAl= LFCsEgX6eyvSgXAWbNNMqAX4WmPlYCKUSMhfkr5Jry4Ps5EqnxYZqEEDd3Whwv7ZXGlc=3D@pm.= me/ Fixes: 5af11acae660 ("clk: qcom: Add a driver for SM8750 GPU clocks") Signed-off-by: Taniya Das Reviewed-by: Konrad Dybcio --- drivers/clk/qcom/gxclkctl-kaanapali.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/clk/qcom/gxclkctl-kaanapali.c b/drivers/clk/qcom/gxclk= ctl-kaanapali.c index 40d856378a74aeb706c2f4a7a17a2c5602042af2..d7cf6834dd77c2a5320ffb8548c= db515be237bdc 100644 --- a/drivers/clk/qcom/gxclkctl-kaanapali.c +++ b/drivers/clk/qcom/gxclkctl-kaanapali.c @@ -26,6 +26,7 @@ static struct gdsc gx_clkctl_gx_gdsc =3D { .pd =3D { .name =3D "gx_clkctl_gx_gdsc", .power_on =3D gdsc_gx_do_nothing_enable, + .power_off =3D gdsc_gx_disable, }, .pwrsts =3D PWRSTS_OFF_ON, .flags =3D POLL_CFG_GDSCR | RETAIN_FF_ENABLE, --=20 2.34.1 From nobody Mon Jun 15 00:20:28 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F27801F192E for ; Tue, 7 Apr 2026 09:31:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554306; cv=none; b=fmBeVN/Q/oTeOyObqoucDZF4V/YqzWewT/zmUQfbp49J2cM55AhYxzbkI8cqg18fbs+5HVXdz1J+pDdUMOPhTi7G0KukN/1ROmeBW9Lxo7TfrnAcYPVEpm/WmXy39D/XfV8UEs8qW3w/LeO+NzMmxfbN75aT0F8Ek9nEyDXEbMw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554306; c=relaxed/simple; bh=rSdTxndfhA3XLQEODC8o412hrkb7dG2LN5ijuH1gUGw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=j2LantC0yGbQvR35sXiDCYq9iXkETHHekvyvtAqNaecCA7MhsrX+9fQIlu8cOOg+XrQdpOIOlE63DfGevAG7zLkMqFPV8z8rG+ZCA4rl0S3+XXhYK1C8y+y+5eRMvVRKJkYitQF9iXTTGVnhaGhC4N3DzzGHr9SRL1ZOzyDpMoc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=LFmStf6X; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HeCJqYn6; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="LFmStf6X"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HeCJqYn6" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6376wGtq1405882 for ; Tue, 7 Apr 2026 09:31:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= kHzEQ6XM/z3+Muw5eGpH96zPSOY5H6p0mASC+IuWNqw=; b=LFmStf6Xj/w6kh5a sT5wy7fhiCd15n1fgtreWReNFUSvJAybcIKoPAgjYEXOtWhrwouAt34lOkhsP0Yl d0eqmBqkqMBj6mWEEcim3KdtdW0+olwsuD32t2StYYFxlua3wGMTYUle5D0OmYUQ 40r2kMSO38eOHFsFAgbUvqox2khUuoqcJRRhYk5TIeX+wmVuIk0ExiP/usmXXF13 v1TCVBbU1dLzsj9TtbYEV7P3vi7LLkFYE55yfhgvM53gNGDK6o6MshERILbi0Vtc lBJt/gSi4wWS/pUMCsTLMC3/FzHOx4X/Y3Ca5kg5CyYUHgelGF8Zbzxb73GPWStj vokGuQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dcmrat252-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Apr 2026 09:31:44 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2b0cf396c45so55781625ad.1 for ; Tue, 07 Apr 2026 02:31:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775554303; x=1776159103; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kHzEQ6XM/z3+Muw5eGpH96zPSOY5H6p0mASC+IuWNqw=; b=HeCJqYn6B2T+F3yPmA3fWon0qqkt3hdvBCdGt4ElXKDnzJIUX9r7IjrMe3INhHug5g X8KJLjbev3k2g1zZB/QCmUI+MWfoLP3Knvzg/eAgAIcf4ka78Xcs9pAXoIt0TdrzQbJB aXHbq4TSopc+DjKtzD1o7RO+rKVUGJb1etwR8JFza/xfLeFllO1jJGz7uGHieXyKpUf+ rav1oubiD3RjkcCvrTo9gqIIXqy7TYhfN2X63vosgLZOsbHS7IKzNeRBbRg4HemcaJSd qkDJgfZ6Nj+Kx66O7PkYj33kbHXy/7kLXB9XEa/oncBKc8gBJ6wZYkHnlxzErJRtTjie LapQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775554303; x=1776159103; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=kHzEQ6XM/z3+Muw5eGpH96zPSOY5H6p0mASC+IuWNqw=; b=jrRRPrbB0SPds3pr77cohQaSMnNMkR2Q/PSntBoKmao5ff8TcyLhqZnQzDsoXeKrIT bGUwcY42F1gyxCkaZ9uiO3I8UjKZKqti5/dFN6QjB+40H5fTRILhWirZBSCj98AgAn6I GpXLI9YtVxKbQuT5p9DTJCX6PfS08e+pek8R2CzNa8R2Z1lvynJ0laujxMksC+LUzlMz 2ZxEh0QzLViyTKbMnBxyu1le2Tx7/LRJjk9A002Vm11DzK7MIrJ2f/j2CNS/NSbED3v7 0l6OC0xabovHMvqwrJrh8R1jfYRPvXJGKfc5w1qIh1JVBEztzEIfYeAvICZVvMwGD+4s 1srg== X-Forwarded-Encrypted: i=1; AJvYcCXNaSYn1j3XLI8UqW9fYoTRcO0rl9C2cYqLDbPhFX4SPkMumVJq5Lq4mvFtgswq52lhXqfj6PpBoXMnDNY=@vger.kernel.org X-Gm-Message-State: AOJu0YxWbApEqI2ufcEcSPRwc7YJuVWdzB1d38z3ayi4uKqZNDsMSH09 qi00Y0EgdaY2WAf8hRjpoHENjd2B8XDBMd9577XmTLoRlb161UHHi6IRI4zNuS4c29GPj5mr8hr er1/DEEhHQc65XnlEVSazI3oQ3LLd7nVyCcMcRbCzr+yVp3H3MvvwRsTDkLgfMFlcFVg= X-Gm-Gg: AeBDietfpEWe67t+Ug8cWTOUPOofTv7/1Mgevgy5chYu9yEXFFkRNpFyapiq7uPwzNa 5zGH8I+xxXKkNmBw+L6F6vypUuwNd6r5E1PxEGEKLlbJTfP2QBXi8gpZkAmERKY3YwgPv6DdGyh fOLXwcozcOWwAp8swU1JdxX3fdwWDkcJRbBMmKR5kAYPWI23cnnt4blSW59ouQchUOsKh04Dygf PU3MHSJ+WkTf+nQ9enslgITv/BFYFB33rmNPgEAIqjQrNBPbjz8Y4NDVvX+FvAjcyEnJPNLDxEN Nz3jN+yfZEfD05/LsY2Kl6PmGybcCVW9XepRlXcUe+Hg4MXe10svmW31+2zOwSdLDp+E9Sqz98H WA95LdnhPJ02baim4nE7JDCgEu9iDdnO9rnrR/t9szo8Rhw== X-Received: by 2002:a17:902:f78f:b0:2b2:4d78:eec2 with SMTP id d9443c01a7336-2b281821ca2mr174235305ad.18.1775554303479; Tue, 07 Apr 2026 02:31:43 -0700 (PDT) X-Received: by 2002:a17:902:f78f:b0:2b2:4d78:eec2 with SMTP id d9443c01a7336-2b281821ca2mr174234775ad.18.1775554303001; Tue, 07 Apr 2026 02:31:43 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b27478bc96sm172888365ad.33.2026.04.07.02.31.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 02:31:42 -0700 (PDT) From: Taniya Das Date: Tue, 07 Apr 2026 15:00:53 +0530 Subject: [PATCH 3/6] clk: qcom: common: ensure runtime PM suspend completes on probe Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260407-gfx-clk-fixes-v1-3-4bb5583a5054@oss.qualcomm.com> References: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> In-Reply-To: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Konrad Dybcio , Abel Vesa , Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Proofpoint-ORIG-GUID: g1h81HSZmO22FhW58XUOyFkejixXk3Js X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA3MDA4NyBTYWx0ZWRfX6Or+QR1l+FNs vFmyBWYeEBxxQ6NCNHG1Fh6pBMV2sC91ycN2CVUQRJhlbC5X8oW3foC050rX01//k79uTBut+v7 uVErlM6AL4x4X1gaF8LokgZXAGMt0LqAYalSfLzobkBMdCjQUC0HB1qux2mB0gTsOxYDgwmpJDm qVfVMiXDE36R7b3vzdQsmmCtK0wXZHN7/+jQz1n5DrTjxCH7T5YehLtSvLL1dPgo13Bf+JaqWJd b+J3OTXdqbV4cJx01jBALXrSpa//S3jthTvhAVmdlS1b6PFwb+FF0l94i9NoROB9oh0URANbIyX ILM1zbDiqGglxKYsgiMAKwz/WwriR4ntUufKQ6fnhDXP9KEJGT+z2Qlz8RnYaWLFMbzd/zY/9wY DyY5BiBZOz5reZF2BSFOhKZwbzDyY+cPONpk3RtjI9dOMQBnkxdUUjFozC8ncNQSMhpOyn/wd2d lOoJBtcRiZymnjujW/g== X-Proofpoint-GUID: g1h81HSZmO22FhW58XUOyFkejixXk3Js X-Authority-Analysis: v=2.4 cv=D/d37PRj c=1 sm=1 tr=0 ts=69d4cf00 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=b5psBqh-k-Y8K5vD8YMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-07_02,2026-04-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604070087 When the clock controller is probed with 'use_rpm' enabled, the runtime PM reference is currently released using pm_runtime_put(), which may return before the runtime suspend has completed. This can leave the power domain transition in progress while the probe path continues or returns. Use pm_runtime_put_sync() instead to ensure the runtime PM =E2=80=9Cput=E2= =80=9D completes synchronously during probe, guaranteeing the device is fully runtime=E2=80=91suspended before returning. Signed-off-by: Taniya Das --- drivers/clk/qcom/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/qcom/common.c b/drivers/clk/qcom/common.c index eec369d2173b5ce24bc1ca860d2ac1bbdce04524..2c09abaf1d2a15b7fbbbfeb67c0= 3075381185a00 100644 --- a/drivers/clk/qcom/common.c +++ b/drivers/clk/qcom/common.c @@ -428,7 +428,7 @@ int qcom_cc_really_probe(struct device *dev, =20 put_rpm: if (desc->use_rpm) - pm_runtime_put(dev); + pm_runtime_put_sync(dev); =20 return ret; } --=20 2.34.1 From nobody Mon Jun 15 00:20:28 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 950AF3A6EF6 for ; Tue, 7 Apr 2026 09:31:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554314; cv=none; b=SrLNNiH8uS2+dblRqvZ1Bvn949a2uwko5UALcxthE2vWcoA6LhKlDA2ua82ZsUclD/qJTeNp0Uop3ETJqfaRiSTRyj20hvkft8gZkvpmdKOl19ZMhqQzPsA7UCAvSDrGAUd1is08txj/wz1kwhXO/7mQgEPqnqC1CM7q/psiyA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554314; c=relaxed/simple; bh=akcdbGGOHDyFpDJgNeVO17N4YErBzFZbupPDnt0Ff24=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TVvYh3OwOo1L9pMzBeTw7oK6zZFIqcnPXuHptAkP2UcUAfV+r3C/Xri81NV6BC1fZcKL8JCTtMwd4jxiYjjPQELeMtXNtTCrpx7H/ny+9SJY105E5OVLXMWjrG46wZ5FmJGNsF//0ERaatpnnkTk22MGGStkFQ4MZjkxf/GLFHw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=G0WCVjDU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dcu0UswG; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="G0WCVjDU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dcu0UswG" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6376bKvt4009056 for ; Tue, 7 Apr 2026 09:31:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= HSBQhnmXvYIy80xyS3AQSG288sQxr/HSk95H/lT9kno=; b=G0WCVjDUAL1pV+8k VG85v2CD80fqCz0bNic7LL2/Il0Kd0hyyElJoEqG9Pacvcd/hKsBuLqjNLMTJhLm QZHRt96lBTeBERmtSP+oMIjKOXepDH4bMUhZTnQI+GWZtKxWF43MMmx0AIzBcnQE qUgsFIWLeV0+9JniJJ2u+V9NYilQbP7O5NVDsgVjJ6mMlp7JIexY+2aPM/RpfuGH Hj4gglURXYoq51+IyDb3EXqmSmGKAA6jJkWmrrzifu6GnfC1DwNpV83LUsqahPYq ol1Ty4AZ8w8pkTh0rWPn7+Z6rk3jCPyuoKKyjiCtISyrOwC4TJh9fpm04MAu7GmK RhR6nQ== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dcmrkt1br-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Apr 2026 09:31:51 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b250d3699aso117556035ad.2 for ; Tue, 07 Apr 2026 02:31:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775554311; x=1776159111; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=HSBQhnmXvYIy80xyS3AQSG288sQxr/HSk95H/lT9kno=; b=dcu0UswGqdvQpn2exs9KPGH8Vs51AzcZmgXc5OkBtVQvB9ecckzIoDFZUyQ+6P16V/ +J9Al+bkEUFmgj6t/rv4YHuXhzpH3Yt4c1s0aADPkrdeGXVJ/n7ScAoYOIkp83Ihf9L+ rwJx+qmJq4aqxOaX4IBWDUue2kw867VkuUdO+qpe5uotGKB7d8NH54GzpZQbiiDu5Ugn jlw98UN4KUVnqGVX+OVOoDas0OrURyzu6DcmGjk0lk9CABDasqa9H8oCA6tZ9kV9J0C+ vXhCqRDpQHrIaaVK7H2uxNp3SoP8cKxlO6x+NXfIYxX/g87Qr0I7bCb3co1Vy/HwKAeY lIsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775554311; x=1776159111; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=HSBQhnmXvYIy80xyS3AQSG288sQxr/HSk95H/lT9kno=; b=LLxuHJjf+D+iB4CqeGALzXl98RdtGC6hGInIQGzJblXNWpE/n0e28isnQuiYliJXvx 8xHhqGY522GKqRkvgTM9rVlB0o94sVzs8f2jr7GyOog2Fjh+DpxtaneMneI3HDo1n+9C rA6VNQ86WIKccCfw3TZaw7vQmtYxYqRmndOR+MHo9zLDSIfKtQcbjfnMOCErV7W4v5sp pdn+h9e5hz5we5dKOVCePWrI9Q2syRcKjUYTNwIHie0J6YBzAYzD/aRli0AYp+2kBi4d IGPVXKpP8OEuZM2rWhTDJWoGSnBaDe5Eyto4SLC4R8+cPXuaDiqSoVsF4CGMaarPTjpy 8MmA== X-Forwarded-Encrypted: i=1; AJvYcCXZwB0odNpsHoys24sB7MODnXyHdCj/Nat1ePw+oh9sqRatQGRc80EFTzwL40w8bLgEQqRGK1178KVTous=@vger.kernel.org X-Gm-Message-State: AOJu0Ywdg5DnyIMW4RpdNE75yvWhxhh/cOHMLNF4SJ3XKYQzSPGRBC4m QsBBK1t75v/VKOKsldUM58VGHpwkWRvpm5mQMEN+YRrutmDL8rJnqmqbDvrj3R5PFsFaMdXTcUT 4YdWw6WK/FXd4khPs+bE5vVkwyIpDSP6B1eMRv38dSdEQkLTfX6ZHMFDmei7hCobZtTY= X-Gm-Gg: AeBDieuJfdaPdihN4SJNVgbgO+xt7na3e7g01feNS6B8TsCIkNifSwnSehJEk1v99Az OtfIgt3yqv3f1qDese1hCpoIw73SXnEZc8Lrmzsw3PFGxO1YWdA8iVzzU+N4hGb8GztykxDaupW 7xfDdy7v7ZYOIZUNg1Vv9JZ5Wmvk3gNqlrXaDsg3kjqlGPOO2VVfHQXeLk6Z1l9luy4ZomimVX6 wzvegP+E4PAF6paJqFoJAv37higG/ZNpuZUE2Ksyx1XH5tsXpAewYbyY2r3ul+CfODo6FgUv/2D 5fxz4leGS2lnkqwfv721oK2qlgpB9ddf6VDavySjC3qt2i2aSiMmFGfcp6ZdcRHqZOMsecS0TnE zKHFLUqs+eB+ynFhR0fn4O+u6mV4ryRMVkXEZSE2mjRSDcg== X-Received: by 2002:a17:903:1984:b0:2b0:72c7:3ed8 with SMTP id d9443c01a7336-2b281801499mr167754315ad.25.1775554310560; Tue, 07 Apr 2026 02:31:50 -0700 (PDT) X-Received: by 2002:a17:903:1984:b0:2b0:72c7:3ed8 with SMTP id d9443c01a7336-2b281801499mr167753945ad.25.1775554310009; Tue, 07 Apr 2026 02:31:50 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b27478bc96sm172888365ad.33.2026.04.07.02.31.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 02:31:49 -0700 (PDT) From: Taniya Das Date: Tue, 07 Apr 2026 15:00:54 +0530 Subject: [PATCH 4/6] clk: qcom: gxclkctl: Remove GX/GMxC rail votes to align with IFPC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260407-gfx-clk-fixes-v1-4-4bb5583a5054@oss.qualcomm.com> References: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> In-Reply-To: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Konrad Dybcio , Abel Vesa , Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Authority-Analysis: v=2.4 cv=Rrz16imK c=1 sm=1 tr=0 ts=69d4cf07 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=TmjMgu7cwLfWQ02JmboA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-ORIG-GUID: 2n15xFuCSGh-2GM4etjt3TTc-ODxAkIW X-Proofpoint-GUID: 2n15xFuCSGh-2GM4etjt3TTc-ODxAkIW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA3MDA4NyBTYWx0ZWRfXzBC1aA0qTuBo sd3BcmSmQ+mbQUTNX5sKFS+65Aq0464mqZaAVK2KjVP0e/v0gFmeFXJ2PfHqkGBA99KFN07syWL p9nG851Hvayw8S0oWyhF2mTIdlPheJ1S2kLcj/iE7J2jT38jAoS9SshyObof9sc0ZvTZA8Z+tG+ uL5012pgNbyAdlEsJICyxGn6XqNTZVGsZGkG0BdkJSh8qeT+eNC4Kg8qKbmsUOp11fQ5CtIqCy+ pDZlnz3+FfoOAb1i8A8p6iKV0MHA8QPIL4efrlgbj4oYphq9Kcl9U6GfYwnZxsJPWLykBpy4PoU ycUoc6fKVf514eTbqNfzMbK2JVHbv1jzBIriUExVGAoq/exHJyTXrkwQco18wRUHF6Rnor5WBaw GyJ8g2qAoii2gkwLwLutlAQNT7K/czGfUbMNDHkq9holPHOgKCd2u+XJewLmcwM7OLlliMCuEq9 YIbmPhHXCkH7orsmNAw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-07_02,2026-04-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604070087 The GX GDSC control is handled through a dedicated clock controller, and the enable/disable sequencing depends on correct rail voting. The driver votes for the GX/GMxC rails and CX GDSC before toggling the GX GDSC. Currently, during GMU runtime PM resume, rails remain enabled due to upstream votes propagated via RPM-enabled devlinks and explicit pm_runtime votes on GX GDSC. This is not an expected behaviour of IFPC(Inter Frame Power Collapse) requirements of GPU as GMU firmware is expected to control these rails, except during the GPU/GMU recovery via the OS and that is where the GX GDSC should be voting for the rails (GX/GMxC and CX GDSC) before toggling the GX GDSC. Thus, disable runtime PM after successfully registering the clock controller. Signed-off-by: Taniya Das --- drivers/clk/qcom/gxclkctl-kaanapali.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/clk/qcom/gxclkctl-kaanapali.c b/drivers/clk/qcom/gxclk= ctl-kaanapali.c index d7cf6834dd77c2a5320ffb8548cdb515be237bdc..d470ade11b0d11eb40843fe84c8= 09e71646dce27 100644 --- a/drivers/clk/qcom/gxclkctl-kaanapali.c +++ b/drivers/clk/qcom/gxclkctl-kaanapali.c @@ -7,6 +7,7 @@ #include #include #include +#include #include =20 #include @@ -61,7 +62,15 @@ MODULE_DEVICE_TABLE(of, gx_clkctl_kaanapali_match_table); =20 static int gx_clkctl_kaanapali_probe(struct platform_device *pdev) { - return qcom_cc_probe(pdev, &gx_clkctl_kaanapali_desc); + int ret; + + ret =3D qcom_cc_probe(pdev, &gx_clkctl_kaanapali_desc); + if (ret) + return ret; + + pm_runtime_disable(&pdev->dev); + + return ret; } =20 static struct platform_driver gx_clkctl_kaanapali_driver =3D { --=20 2.34.1 From nobody Mon Jun 15 00:20:28 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5FFE3A6B88 for ; Tue, 7 Apr 2026 09:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554321; cv=none; b=llh4nbirjEKMDYlFqAMRwFSm0TjyPBMn/PAQ4DkmJEzBkvq2EGOQREVshejwfHJquV4u8xPYvGGSDgc5K9YoYr/BEIS8XrAyfIbHzm3oniH9io3JBVE9qx2KRU2e5l1IQyD+RCvaB7jG+tKdYHgRXIo1u/9qrsme6QSSaRXDI1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554321; c=relaxed/simple; bh=1WuIHXjP1EOU8oxrMLqv00jirlI6wlcaXjj7IvPVIE4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fhbmtkHKCq1s0OXtDYTJWAQ2c0QcsgWfC647EqO1qK6mUTOqPdJnbkWVAJeNcuPEvXlVshliWrkuHppxxVxZ+qa2v+ZsBp1qvhDlPrUiNiF+knURGw0TPSsT3ToUzWWZTnX0SLmCRVmpQTUkQLADjvNGggHIWu/zBIVayL02Pfw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=nSnbsysl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Oor3SxVI; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="nSnbsysl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Oor3SxVI" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6376XCKk2550330 for ; Tue, 7 Apr 2026 09:31:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2tjvfWn90X2gwQ0oPND/UL5ENlIlf0ru6kXbNjLjd5c=; b=nSnbsyslSbWkgVmV E9qgjM+KFyawR11GzKroT5/BaFql7b5DjuINjxJ8TsnHomtr4nd2QV2oqD2Q8hLC U5fbJHd/98jEttC5+vZmWaGGpfXnRQlHpV/V5Ay4gwYHP8O6PmlYDB+zCdrqAEjW IDI20LtLWB3xWKYGOHJS9vMgWfNvGePch7E/4Yk/XMrtdkSh2bSeGOmd50/KVdUY p8WIOfj4JnctrgaegbY7OmRGttWtnQIvGpKlZ6dtSPMb7QywtjTfBRbu42LVyBK7 MRdwkiGhH5dlr32VWCEiANP8hDImHALYOhhbfGsqAW4/tLhkmb3L50/2yWIwINdk 8dyP3Q== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dcmrea2qg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Apr 2026 09:31:58 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2adef9d486bso75953075ad.2 for ; Tue, 07 Apr 2026 02:31:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775554317; x=1776159117; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2tjvfWn90X2gwQ0oPND/UL5ENlIlf0ru6kXbNjLjd5c=; b=Oor3SxVIs7pETtzIPpV1yd4QLDyrHdHqsqpsxRQWCCXv4IAiWHITjkMasEI12QsIYF 5YIbMxD6nLGcSAqEOTFGOI9wGY4KoiOfc22Vg43oj2gzM7OfcKmtX2Y73JtsxZBSVm0g x3xtPmcbypFQ9GmMamjFtu7HMhsd8DeaVZ86r3m0KIqDuVqWoJkJOgSNw4siCs9iMM18 C8lO7FXP9hj/nvmfzT+AKIHAIVF0FdbuatHlP16ybKUDzXmxL2BhD2/Z45x5MRNGJOSj UTMSRRzst/jIgiDH2X255ISFmHHXcvyC6y95AEEfCtiKlQ9Lx02PAAsT/VanpP/UGkMs jiDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775554317; x=1776159117; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2tjvfWn90X2gwQ0oPND/UL5ENlIlf0ru6kXbNjLjd5c=; b=j2Not5okEpO5XH73fSDy6REYJWD19hB7oKbGMj+viF5sAaPWqeJN7BfH9kpWKCnGUu yYVvZB7IS9omDOjXN3m9PBgP4OYzfZTvIL6Raj1aP0cV5q2kSU6/gMiUvn752CG5ZRj1 gxlKTOUJ2MgiLZzHySHnz3i5ZbjedRVPosGSZNSP1leX5MiZhdvhSLoTYsO3YfYV3Xx/ H55NzFXtgeJSHomoQLD3PqScTVJlAi/XlYRUimD+mYs5Xmxg5MZoyBdS4q6NH88BXXec XdD05WYDBhh2fiadj+kRHMC7fZ0RJpGrWXk4vpk4AiOSv63jWknNntnZZXz/clGkBEFs k7mw== X-Forwarded-Encrypted: i=1; AJvYcCUhykz0njhMabeVANI6q3/uTr1b09umborVtGgZo9H8A3CtamxM6QrBCVaMya8Vi6UPRs1eu4rYo0t6zNA=@vger.kernel.org X-Gm-Message-State: AOJu0YwAx0Mk4NYwH38hXL6Hx0N/lgYPdcrrkZYYjWqAgbj0wdL9Dcz/ Gbmft4whZoI8DPt+q2FcPV2rqFSo45ZjyupbTf1t2yG4FgXxUMEXqxWrF7aOFClDsyFLZrgXuR6 gux/pfICnf0i74+AFANqsm6ulaieR+V46Ntq4FBEJXBwJZno5zd0MbJkuuYBMHwUHsiw= X-Gm-Gg: AeBDieuSqK5Dy3O7VRkD8pDi0eZ5fEhlWgkSsPC59UPeza/PIy51Mvz952ySjqLbCfN SlN8mJgZhf/uwF4wHNvMgmHUN00zQ79/Bqwtdb2OImM3Hs5rU0eUGZnAmM98xU1qx2FONO0rjGL fM+zdDqpLAWD2d8DMII/rt9LTZnCtLRZClwu0Uuy824/LGfKU0LMuZufMtx6ZjkfROCciOR72nN t37cuaJeSpkxNYqF8bQ0dBXk4RiXMUVB9HzlUxGFjxmxlfWrpIjJxCw55rEpsn2iEDUxvgj7Au3 s8AUooU9AeHCA9ZXhuETGacJ6ZRFSeqv5gq/lO+OJqYaZkMiovwEpgkfqouz6xi2rhWlMKLYWHg YOX/DKZrO7chZ6apmMnHSurhkzE5YITZL6rbCxuPdxairfA== X-Received: by 2002:a17:903:b8c:b0:2b0:6885:f1d4 with SMTP id d9443c01a7336-2b2817b5e43mr172137895ad.39.1775554317316; Tue, 07 Apr 2026 02:31:57 -0700 (PDT) X-Received: by 2002:a17:903:b8c:b0:2b0:6885:f1d4 with SMTP id d9443c01a7336-2b2817b5e43mr172137655ad.39.1775554316829; Tue, 07 Apr 2026 02:31:56 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b27478bc96sm172888365ad.33.2026.04.07.02.31.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 02:31:56 -0700 (PDT) From: Taniya Das Date: Tue, 07 Apr 2026 15:00:55 +0530 Subject: [PATCH 5/6] drm/msm/a8xx: Make a8xx_recover IFPC safe Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260407-gfx-clk-fixes-v1-5-4bb5583a5054@oss.qualcomm.com> References: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> In-Reply-To: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Konrad Dybcio , Abel Vesa , Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Authority-Analysis: v=2.4 cv=OKEXGyaB c=1 sm=1 tr=0 ts=69d4cf0e cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=6racf7IOMx3K1H64_JMA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: VhuwvRCFp6TIpJPKyyGE-JXE__lUp6Lb X-Proofpoint-ORIG-GUID: VhuwvRCFp6TIpJPKyyGE-JXE__lUp6Lb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA3MDA4NyBTYWx0ZWRfX8nNWmsVGOAkt nIzhx2dr+2tZpwyUqtFzNMOQCrHbWtjxj6Bz2Otu1dWZHNQpvFI2QV7zwG6NNa+Iz4+1HFMRkh+ 9ZE3mnpggrTNPemkLvZvPhjYyyqaFwVGal2dkp92G+DXqdPzoJOzeI42N6vfilyNGDhDaS+uLVa rOgUnsSHaV6bCsqDefJW/F+ggVTfRYIhFlhHAFOD7wTJbJjjilpK2w6SFk4oufS9Zz+/8Gtaf7D JUTNyWckoMyEPtgto5UpDpXXb2RqlIFiUrUsDuodFiij2MZaaO+53PvqFIjxii5qUvsKTmy9hWV Usj4WDg8NoZAQGIelFjeFu9uyUBp6w1Lq86/UDgiemiawhWzUaNyhifr5Ri9sLawIcwNGa0PqjC gTAr7tTSXSgwc4MaA04AgvN9y/zI8nTs8hKP0mJkfCfwSwXjqUOi3zVJm8isBLoO2ZSmHpzTzLY x1ycvfqZXysEwgla6lA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-07_02,2026-04-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 spamscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 malwarescore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604070087 From: Akhil P Oommen Similar to a6xx_recover(), check the GX power domain status before accessing mmio in GX domain a8xx_recover(). Fixes: 288a93200892 ("drm/msm/adreno: Introduce A8x GPU Support") Signed-off-by: Akhil P Oommen Signed-off-by: Taniya Das Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/adreno/a8xx_gpu.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c b/drivers/gpu/drm/msm/ad= reno/a8xx_gpu.c index ccfccc45133fda53168d3475ebd3d543f10268af..9b99ec5ceeb5826fbd5cd1059fe= bf5bc5ba468b5 100644 --- a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c @@ -886,17 +886,22 @@ void a8xx_recover(struct msm_gpu *gpu) =20 adreno_dump_info(gpu); =20 - if (hang_debug) - a8xx_dump(gpu); - /* * To handle recovery specific sequences during the rpm suspend we are * about to trigger */ a6xx_gpu->hung =3D true; =20 - /* Halt SQE first */ - gpu_write(gpu, REG_A8XX_CP_SQE_CNTL, 3); + if (adreno_gpu->funcs->gx_is_on(adreno_gpu)) { + /* + * Sometimes crashstate capture is skipped, so SQE should be + * halted here again + */ + gpu_write(gpu, REG_A8XX_CP_SQE_CNTL, 3); + + if (hang_debug) + a8xx_dump(gpu); + } =20 pm_runtime_dont_use_autosuspend(&gpu->pdev->dev); =20 --=20 2.34.1 From nobody Mon Jun 15 00:20:28 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 816F13A5E67 for ; Tue, 7 Apr 2026 09:32:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554327; cv=none; b=mlzGc9JObxdWi8SDohW40v0rIkd5HjuH81HfTkavkT1vn8FL34nDQISgoLj9Sd9g4kDDUsRkys8gw/MQPR5h72QND3QoXMtofFzHiZtaCy98/tlZw3JoUvGy2T4pIebCTNvux+WiYkCXZJr1chsZYn2seDTjvrguYIZcrvn3BM0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775554327; c=relaxed/simple; bh=ebt+DlIxFYdZ58+Dz/1bcwNcBFyftHvLSrZPhrp4eDY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kLZFDF209gJLYJBBgtXpD+kMWnsbWU3ll1EtJwpaMKK1Z8V3rJIyu8yxGflE+CQJ2YfRzrMtZfNwIIakPfH6sAj9/zegrMa0qexUqoL6/B/vwtzJzDXtW03WanT5ysE1h3JcihzcVtw0EUfUoI4gIucYu/iR5wDcdst5y31U5Gk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=n9lNxdUU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=b4yHqyDv; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="n9lNxdUU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="b4yHqyDv" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6376nHZ53815757 for ; Tue, 7 Apr 2026 09:32:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= qzC8dA/21UMvhLjLYCfzr/+6i+/FSPhWX2hchnV7imk=; b=n9lNxdUUZhqiN7Wr dqJnk/9BBJRZ/D4SR6SDMY76gA1GgHx17IOWRnyhUpy/by4fKdTGN61eloGcmcFK jT9ldeFQq0K4KZpiaE1vWx5qSudZaQBizulgBgcXsjo5PGtkf+Ta4vQBlJ5wRpbO Hwg5DGztVYrboGJcarsf8gmfWWgihn43kCum76FS/plwGxZNguPQfcpCkWiSU77f P1MbnwjZACZnPbG50DLP7dtsgBzhmEAmlO2ou7G42bAIkh+cIMz3gBucE5htDBTx ljeMmOaY61H/UjSIkrCtXZfGSUMGpAzsrPISRFIj+gccEN27IgNzrvaWyN1fYpAh Z2eF4w== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dcmr4t2kk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 07 Apr 2026 09:32:05 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2aad5fec175so80911815ad.2 for ; Tue, 07 Apr 2026 02:32:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775554324; x=1776159124; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=qzC8dA/21UMvhLjLYCfzr/+6i+/FSPhWX2hchnV7imk=; b=b4yHqyDv2gZXJvykgY/guP8mATHZwsLvp7Yx18vc7aZIbiSv1AqPuI2GGbtGNPJZoz /0+BPs+gZRwAHZtZclcCBeD7rYVLud5DuI8YAkcjaVHajHlD7C2cWGW5CWWQm1ri73Zn 7Fk+qDitrMt0iR0vcK80HF7clGrvy22P9D2lyWS/8Ss+7YSkoZS/XN0saIrPVpDfuT10 SIOHhgSZOCeFiRMuDhqUjz8k9zk33NjmsFOy8DGbyD1eKzSWoMegFalabnzjfdLTxXAd SmUXE1lqmk7OG77sJX3j3RFQQHmZTjWMQCnv7yvtljaJKoJCiFmtw5QnmdJs5dBlerSv Bwgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775554324; x=1776159124; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=qzC8dA/21UMvhLjLYCfzr/+6i+/FSPhWX2hchnV7imk=; b=bEO8XDyC9LqEYlN65BvJeyhNfXjx24NwdXrymlyS0GvrvLQLN0klzuRPsx/+Wc7zgO o4jC6LA7TEk3ddFZ5e7S7VBkgm9e6SI3D1g1PWft/h/5Zf4HOEY3hKWCt2ITjG7Gmsiv Rh22W60WhJXDe1a/geSEvx4p+0KDQxGs9kZw/VwaUDc/9NxF4Ga1G9zMKmfEPGEU/Xqt rXKxslbE1QjhFz7Teta/F+mbTKfeQ/YSh1apZDHHGnf/YvWJGhiDoKd2k9M0N+Id+b3S NF018rmHWNnO0MtDgSVpfZq6llETI5EDDa1tcRuQOkTyjXk94ekfdsNRgi2EBZ5jGfHW KZSg== X-Forwarded-Encrypted: i=1; AJvYcCWx2eZzQaM1zPvoLtfjC4zWDdGaWgvrI1xTbnEoL/5V64InTfoyOVJ8R+Ut2hk0ujrChkhzjLvydRjqACs=@vger.kernel.org X-Gm-Message-State: AOJu0YyqILLkkQ/1rvmVudyC6MLrsh+p1JmmA+qzuMuCm6MgQZ7TkYCq vWo0C7cvfw/geGOFjTJZkEdXFNH8/xZaPKuIzkKR5kQ7lS2Q4+YAM448SWJKGW+NjwVmpiuDjzg S3HxObGczXYlcMbqimjKrVYGdCqNJY3Ivf1WP6QUlmkCZ7Dj5KljJ8qY2oiZ64rxCPn8= X-Gm-Gg: AeBDieuhtkSRL7f8SHNOJcmOxcHxvzK2Clcm4gDveuZ81Tabh5e9YV3ClXKHGKuzLO6 QOVHG3RJM8G9RSGUluy3DqnS70tmoX9s3GPlmnWORIxpD5BLQJshtjY8mlO+iFt5SipJap1NzrJ OzmVBGx6SBOhyAVp2LT0NIpGxE0qMESLgscUuqYLXBii7dXvQSa4DKnbHV/sKwzz6syBcF+uo72 QEPj7O8H9tQgJ0eZS5wmz+bSae6p4p4nddTF2LlGcfIMVrzda7qP0PVlYeL7Ra/jXH8DDvqJZ70 YA1a6u5Gli95qxZGVdyACKZRxWnENUGE70OUwK6nH4MoAHUb5WsasCJW3KE5UiZzD2j5tvGJ+St ucLu1C/YQ3xWohsAxrLHDVG4OuukZZ3R0SwiNOHSYNwBOQw== X-Received: by 2002:a17:903:3586:b0:2b0:b325:748a with SMTP id d9443c01a7336-2b281705e9fmr171104755ad.22.1775554324140; Tue, 07 Apr 2026 02:32:04 -0700 (PDT) X-Received: by 2002:a17:903:3586:b0:2b0:b325:748a with SMTP id d9443c01a7336-2b281705e9fmr171104335ad.22.1775554323620; Tue, 07 Apr 2026 02:32:03 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b27478bc96sm172888365ad.33.2026.04.07.02.31.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 02:32:03 -0700 (PDT) From: Taniya Das Date: Tue, 07 Apr 2026 15:00:56 +0530 Subject: [PATCH 6/6] drm/msm/a6xx: Limit GXPD votes to recovery in A8x Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260407-gfx-clk-fixes-v1-6-4bb5583a5054@oss.qualcomm.com> References: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> In-Reply-To: <20260407-gfx-clk-fixes-v1-0-4bb5583a5054@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Konrad Dybcio , Abel Vesa , Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter Cc: Ajit Pandey , Imran Shaik , Jagadeesh Kona , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Taniya Das X-Mailer: b4 0.15-dev-aa3f6 X-Authority-Analysis: v=2.4 cv=dO6WXuZb c=1 sm=1 tr=0 ts=69d4cf15 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=wUjT8lVc3dO_4AMqBZcA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: shFjhlQYu0T9hLxT0GnWI12vA8yCzUpT X-Proofpoint-ORIG-GUID: shFjhlQYu0T9hLxT0GnWI12vA8yCzUpT X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA3MDA4NyBTYWx0ZWRfX+5b9L7gZN8Uq d88MUE800f8kzMp8v1YIMsU3SYIG2gFWnISoZHz4yDumqSpI+bBPMhB49EyZjBJwK9PHaZZcZeo mJ7BlTXEvDdJuwOXumfHwgfP6TXTlajO5obgfxLbUA7FsaqkLrbz42gh3AjxHlk/O8pt0YqTPFw rDL+plEkCniSj5GMRCdMsv3qnB++ucYm2C5YkyvvQIjoCBLobFQSW9XfXHLCPc1+lUQXazBmBx7 4qQdKsuk5j+USFz5yjXFHBOfAYS+9Wqxedm0Xth0ION55GqyyLrpgqu/WEu6aBba4617gDlPzxh 3Q6a6+ipG+OLWNwRp+UedUdN/Fi9rnl03+/+Y3D0WRkRT3Y1QFzTiSBdX01w4iv7EkgG2CKDBux N8MY+93r29O8OV3k/omJnPdDw2RuRvErODKX/qKacqqEk+FJbxaEtxgg2vJBdcAwCGhWPSJzfh3 blZiQ5AuzAh3c5/WTUg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-07_02,2026-04-07_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 suspectscore=0 phishscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604070087 From: Akhil P Oommen In A8x GPUs, the GX GDSC is moved to a separate block called GXCLKCTL which is under the GX power domain. Due to the way the support for this block is implemented in its driver, pm_runtime votes result in a vote on GX/GMxC/MxC rails from the APPS RSC. This is against the Adreno architecture which require GMU to be the sole voter of these collapsible rails on behalf of GPU, except during the GPU/GMU recovery. To align with this architectural requirement and to realize the power benefits of the IFPC feature, remove the GXPD votes during gmu resume and suspend. And during the recovery sequence, enable/disable the GXPD along with the 'synced_poweroff' genpd hint to force collapse this GDSC. Signed-off-by: Akhil P Oommen Signed-off-by: Taniya Das --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 64 +++++++++++++++++++++++++++++--= ---- 1 file changed, 54 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/ad= reno/a6xx_gmu.c index 1b44b9e21ad868e6454b9140284cc7ebedc4f59a..b7166a883b018f459caae742e9a= 589f32167f8d2 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -1250,6 +1250,56 @@ static int a6xx_gmu_secure_init(struct a6xx_gpu *a6x= x_gpu) return 0; } =20 +static int a6xx_gmu_gxpd_get(struct a6xx_gmu *gmu) +{ + struct a6xx_gpu *a6xx_gpu =3D container_of(gmu, struct a6xx_gpu, gmu); + struct adreno_gpu *adreno_gpu =3D &a6xx_gpu->base; + + if (IS_ERR_OR_NULL(gmu->gxpd)) + return 0; + + /* + * On A8xx HW, GX GDSC is moved to a new clk controller block under GX + * power domain. The clock driver for this new block keeps the GX rail + * voted when gxpd is voted. So, use the gxpd only during gpu recovery. + */ + if (adreno_gpu->info->family >=3D ADRENO_8XX_GEN1) + return 0; + + /* + * On A6x/A7x, "enable" the GX power domain which won't actually do + * anything but it will make sure that the refcounting is correct in + * case we need to bring down the GX after a GMU failure + */ + return pm_runtime_get_sync(gmu->gxpd); +} + +static int a6xx_gmu_gxpd_put(struct a6xx_gmu *gmu) +{ + struct a6xx_gpu *a6xx_gpu =3D container_of(gmu, struct a6xx_gpu, gmu); + struct adreno_gpu *adreno_gpu =3D &a6xx_gpu->base; + + if (IS_ERR_OR_NULL(gmu->gxpd)) + return 0; + + if (adreno_gpu->info->family < ADRENO_8XX_GEN1) + return pm_runtime_put_sync(gmu->gxpd); + + /* + * On A8x, GX GDSC collapse should be triggered only when it is stuck ON + */ + if (adreno_gpu->funcs->gx_is_on(adreno_gpu)) { + pm_runtime_get_sync(gmu->gxpd); + /* + * Hint to gfxclkctl driver to do a hw collapse during the next + * RPM PUT. This is a special behavior in the gfxclkctl driver + */ + dev_pm_genpd_synced_poweroff(gmu->gxpd); + pm_runtime_put_sync(gmu->gxpd); + } + + return 0; +} =20 int a6xx_gmu_resume(struct a6xx_gpu *a6xx_gpu) { @@ -1266,13 +1316,7 @@ int a6xx_gmu_resume(struct a6xx_gpu *a6xx_gpu) /* Turn on the resources */ pm_runtime_get_sync(gmu->dev); =20 - /* - * "enable" the GX power domain which won't actually do anything but it - * will make sure that the refcounting is correct in case we need to - * bring down the GX after a GMU failure - */ - if (!IS_ERR_OR_NULL(gmu->gxpd)) - pm_runtime_get_sync(gmu->gxpd); + a6xx_gmu_gxpd_get(gmu); =20 /* Use a known rate to bring up the GMU */ clk_set_rate(gmu->core_clk, 200000000); @@ -1339,7 +1383,8 @@ int a6xx_gmu_resume(struct a6xx_gpu *a6xx_gpu) disable_clk: clk_bulk_disable_unprepare(gmu->nr_clocks, gmu->clocks); rpm_put: - pm_runtime_put(gmu->gxpd); + a6xx_gmu_gxpd_put(gmu); + pm_runtime_put(gmu->dev); =20 return ret; @@ -1455,8 +1500,7 @@ int a6xx_gmu_stop(struct a6xx_gpu *a6xx_gpu) * domain. Usually the GMU does this but only if the shutdown sequence * was successful */ - if (!IS_ERR_OR_NULL(gmu->gxpd)) - pm_runtime_put_sync(gmu->gxpd); + a6xx_gmu_gxpd_put(gmu); =20 clk_bulk_disable_unprepare(gmu->nr_clocks, gmu->clocks); =20 --=20 2.34.1