From nobody Mon Jun 15 00:20:14 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 EACE3371043 for ; Mon, 27 Apr 2026 06:39:15 +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=1777271957; cv=none; b=oO7tlhJrGeGa9f8j+WdjjnxJedTqqNOO0XdqL36jLgYcQHSXORUvMSfDa6TLLJS3G4aykoTEb3crP70tIl9ITHEeM2UpvMNrBSwrEqrxGdzI4dKHkrslvFfEp8bVa66k7p7ysJ+cpuizsZiT/iUrBDYzc+8lh8hS/alCdY1oWZ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777271957; c=relaxed/simple; bh=aXHT79v/7oLdbyzrr1UpPfg1SOQCQEJgRDXGeMNs4js=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Tgg8Q82DScX0cLVFNakF2/y6XRNy4o9KPZ/AH33V+iFvj36o42Qk/KyVqxAo5hcc9Ybmkau2JDPmK7av308aWuP14ZrT68/I34WR5kjhojvWnmGpe/K5DBAWAUFuyJchSgc5KZjskZUKtXbOPwBfgiPnyELm8+zLDxToXICxiN8= 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=dgR8RwP9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MWAqtXtl; 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="dgR8RwP9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MWAqtXtl" 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 63R09rSU2602585 for ; Mon, 27 Apr 2026 06:39:15 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=dgR8RwP9qtCg4A6a DZGZ9pucnCSCHA2gmipBUsmnY5zoWFR5Qjrk6oFj8bxAHag0i+z7sqlflL4Uu6nP hPPZ2vjj8TvRXmcXVQijP4JnNn7cbHamunNP9sYd8TNEAcMg8CSyj4t8IJZmVPyG 2JDE8KeFuscoxeF8JGA4g07yrX73kWmpq/5Q9cl+yvLojMnd4oZc16pZN92+p7T9 B814gmK+FAe0ozK9TcOrNBjCrzeceqmFg771t6NYUI6Ysw0BOCEWdkMHh8ytq01p MN20r4hGlSKAyr1vlJSlzMz6GUx3i+fYd5ZA9RRCxRFqSooAJNs+GyenP1bHKF1U kMqb+A== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drpsgvms5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 06:39:15 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-35da1c703d1so11618638a91.1 for ; Sun, 26 Apr 2026 23:39:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777271954; x=1777876754; 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=MWAqtXtlXwOyxoKHQv7obKla/A04bxtTo0MDuPIyY6uec+E5Q4GNhy7WXAnJ4w1Tlu yc2ENfF+w/BmLU8XIiZ0HCg4Hd8r3tFbaf5meHeYBO3dNWztI86/DPH5LNO9S4xRHUaj khfyL4gXYpzuVI4ng+QgpJXfpmzHtvOtATAslLuWPY+tfig0j4wh9mmqC8YnO7R8bJlQ uUpI5eEsCylL5BJEIt+boJjUElVyhoa3NWHJiaZanLYxArWfBxQ8LDnccwOdMelc4md8 JToT7ek0GRgoqf58CT4cmgf4DKIHBQOGSSq8YrvphBC2fD84HY9wvwdMRhjFt8LCGQHr 7AHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777271954; x=1777876754; 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=H9jHe/f9DSN5eX7ppbADjfyd6CpHkKb/8B/1GFfGfPj9o1SYOiopbD3pR6+WL1YGiO MbJqskMGTnEILguTmHeVUNDt9Rq+5fTdPuxOKUb/wIc0EEwMsbfIuqaSXikE7D9DTTQH vnFs86s6hfM67U75Ek0iALk9bN+TOHY6+imMx01DJglTxnpkmWd+vHFi4+ea5ZSpbhdJ L5W7Nkfq4tuaUITbrPrbJK9zqz+17fVlNMRoG6evVXW3MnmMhrZbfhl2hpXdmIvbTiLc ZiaUP9+DQFssq2GSWX2e+3JhVbQ0/65a6TSf169eyBlzRjYMbImsb56SZ4cX4l5pEmJr Wkxw== X-Forwarded-Encrypted: i=1; AFNElJ/m13blPgnXqnyq9ChGAmQRavQOcHSBjhQehqjzPX9xeTWouee8/fGZIdDamjWM09rc09F2JqVyr5Vq/9U=@vger.kernel.org X-Gm-Message-State: AOJu0Yztu7LN/O80hLXHh96QhVgyIyB88MSIjrX7g3h0L3RvPkda19f/ Yr6gJxi8VX1lvRo4czOwwggMGZLzZWEJzniKdZR6a/xSvRPIjMTKnMfBm3LGU5V0Fl9oXswWHt/ t0mg4giSJWMerNtTFPUfAD+GFamKuCyvIkm54kVEdwWHmKzNT5ABGiXgsLXRXQMRI/z4= X-Gm-Gg: AeBDieuyXn5T923I3o3NiOjnNPDVnF48whRILhWC1+BlRas8tP2QfjjtYSs2OaL2W8i h6kbFpz3wia8ihEgXazdSy+x1wOm8lLaodVTvv50Jsh/7ehatP2h/ZKjv1F3uZlSbsA/u8eIUf7 QEop1JZBNv1csBcx1UBAmy1uvwNrxOJLhtOyd9LCzHl2B73hIStWIHRKep3FWYanf44r9ejG6pS Vkpv8OaUke2nsnvbeVbub2r0hX25rJBbdkWA4okWUpmOvmyWpp0/J8hJDsDBAknB5req8Ix0K8G fWISOK/inTCGkakP00vyAbDnFpAJ5rjl7YIY93m1J8SVVl/hCmEGFl2UkRK+8ib61cd8J79M4nS pb4Y8kLKucnZgg6e135U/+nzAgRUnj5NL9DtSHwoMICCrujyckDhqFqgD X-Received: by 2002:a17:90b:384e:b0:35b:952c:43b9 with SMTP id 98e67ed59e1d1-3614040b2c7mr44429938a91.10.1777271954491; Sun, 26 Apr 2026 23:39:14 -0700 (PDT) X-Received: by 2002:a17:90b:384e:b0:35b:952c:43b9 with SMTP id 98e67ed59e1d1-3614040b2c7mr44429904a91.10.1777271953943; Sun, 26 Apr 2026 23:39:13 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-361410a7ab7sm38628234a91.10.2026.04.26.23.39.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 23:39:13 -0700 (PDT) From: Taniya Das Date: Mon, 27 Apr 2026 12:08:55 +0530 Subject: [PATCH v2 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: <20260427-gfx-clk-fixes-v2-1-797e54b3d464@oss.qualcomm.com> References: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@oss.qualcomm.com> In-Reply-To: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@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-GUID: BmvK9xmSOUupqRe2MQ_s_T8E5lQLvSuG X-Proofpoint-ORIG-GUID: BmvK9xmSOUupqRe2MQ_s_T8E5lQLvSuG X-Authority-Analysis: v=2.4 cv=Y+fIdBeN c=1 sm=1 tr=0 ts=69ef0493 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==: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=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA2OCBTYWx0ZWRfX1SooN6lEfpV6 7fw29NZNSewGEh21cjjiYU9LF38UVHy3bs0WLOv6jqYUtbm7dJyo8/gwqAijtoFIvIPJoT3bpV0 UqW/4IMAeILtBpDzhIFrNXXeKlUKzZHJ33r6mDcm9vnwwLFvauvQDA3dniyEJW6BQ68igDZ87jZ 7jkFiKb6lChUimUscu7YQ4Glda4MMgMBwGJU7/qczRh8nbdKRPqCXw4ykLBSyu24OemqdnX2ac3 /bdveX3pz32iD3pVcRGQ3GO8Pfimp5jSEw2+Vv3Rsw1XtRUZJ2cIYZg/pRFIa9Ope+dZdlGaNdU /N+LVWP8QlgdHAtJLcdzhenIQ7SG+i7GIiJrwer8uiQbgdbzyWxkDRZbdRivd3rARhUzz2te692 XqzAk+Sw49abntCtj8QV1thI/AcT6K1jIa6u8ADp3RA/lWi5cObiDvw5cKWhVQraWUQuG0+DQS1 hBrL+sthvEcCwaYArWw== 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-27_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270068 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 Reviewed-by: Konrad Dybcio --- 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:14 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 245BF3793BE for ; Mon, 27 Apr 2026 06:39:23 +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=1777271965; cv=none; b=mOuctLndmybQPWCs+Xwy5MkavJA9Y5Tn5hwtc++SOTaNaiFswdahtNISRiVDF2d3wpB9C/E/2EG5/rNq3SPDPii9+4kXq0a07lIO/4JZaiyT62SOHESjGVFjtEZ30xBfx0Z2K1NBxeQrKX956h1cCr7T+2DPAbemMCeRp/PLCJ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777271965; c=relaxed/simple; bh=R4QRkVHAwQ9KrtjujN9XD83vLhDAkEyM/SDEmmoV3Sw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZouGuZN79CHEoE+zfFzSRMZUbKeSU7l2aJmXTiv4xaEB1T2yrJVhyIiYHuyjPe2JpcTBjuAsUSby1wz3DjwqETjF7f3nqr5g/0h+UXJYJLsV8cg48sEn30+isofmByzJHk6Uz1jepBVtCAbUxGiR/z1H7KTvpl2p69eFXUBzQME= 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=hSHs70Vd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EbO8VZ+m; 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="hSHs70Vd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EbO8VZ+m" 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 63QMLf1S192374 for ; Mon, 27 Apr 2026 06:39:23 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= k9t2Skqy5JANgUESsWXa9v41qvVlWGnC0rrJSF/Em/Q=; b=hSHs70Vd+yUPJWyd gHC8XZXPfCL8oSQ/os1j7z1/ZUPcFBHGA/T7FnY0wCbXJ0PJhW+luAhrHwlZJ3k1 t7fAS46HGGPaVCWs1vAZRKJH7KKGUTNQvSMB1ND540pEAuVtzQlv+Fstelt4ah/7 0z4SCZpX//EP6aDBp4uuX/FxjaCRv3VIFuyIpQkigihekvxT+aWn/+Unl0ZWbi21 XRgJ9BsvFuarm+0ZBTAf3liFbamz5tPXwhcZb/XCaVuqBwO+QJX/ew5MMmpdcqtI Hn1/Tsg8q6OdWhu6/aisW54TrbnWVnzhe9a+EIYjRAZZviateIXXwosiqAMSFkFn ErPJyg== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drnqrmpt6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 06:39:22 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-35842aa350fso19307507a91.0 for ; Sun, 26 Apr 2026 23:39:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777271962; x=1777876762; 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=k9t2Skqy5JANgUESsWXa9v41qvVlWGnC0rrJSF/Em/Q=; b=EbO8VZ+msehD9Vy7LCxLsUMX3kRX27XVPKyXzBqfX6MWmOPIlY8RiaydPsRF5QKkjU QLSJEbDGc/eKhuFOe3LA1mCU5EdPWBU9O4Eu08Js78tHdgFjbi/V9+WofzR12+nbhu/x Xlw5SAk5pR+qa1IegGgUb7ehRn7OqFc5hLQbTpBsEx/bGnstGpFFIdb7mUiUEyVeyjW8 kmStrFJ9vGedUhg7YPDN3+mNNarQ6+ukgK972PCwp6hriyiFTvjDo+SKl72KoF90H+S4 yzK+vEdMs6Tlp3eY/NMvMY3JyJJiYtshU33bSs7TdbhmJMaYVEhkV0ec0q/LWzAjCRs4 HTqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777271962; x=1777876762; 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=k9t2Skqy5JANgUESsWXa9v41qvVlWGnC0rrJSF/Em/Q=; b=bL+EJf3htsY+bvnVtY2KJANSAoIfYrQH+TtxwThQX6WhBvZpZXolYfm75BfZMktp0M j0jSZ9TVG24snq6AQMX4nsX74Tq6Xf9nRD51dVjxSMboq+q8rQKIOuQJfKBjkacr77WT 8FLgL3BuhR//a+nX64gqO4fwlPyEjsJvXOH2xGYba4b8xALVkyFRAYtKEk5avbIsT6qH SvIkyiNfaobqq2uxttXx5yIa9DLCFL/DvaTo5gpNPmQ4NkUUnnDDjWEJ1IH10tv94J2x mo1KGqLl9MilToFuNX8hDc6ED6+XfmwoUBODfbKXct5LXTenHWTLO0THRKVBaSrlqCuT VIJw== X-Forwarded-Encrypted: i=1; AFNElJ/dCnpubvdCOX0prqOOkt8URsznn2mtjU7w+/3Z+RbVjfE7NBxlxlUrRCMq02FTH++14haQR/iF/4Qh4S0=@vger.kernel.org X-Gm-Message-State: AOJu0YzRqqrWAENKB3XCWi55FsoLpUKi95HRZcJlyJFe5wDtYuYQNHxs X8jn+KTSc4HDWTwDZ29z9xxQFIjNjN0t0fmawAXIrFGc6rWQ0T+9EOIHMhYkdr2dlfNDkHle9Rj BKz/ciHP4QgrN5ot5ely8nD5b8gn4HeBSdD6piaCLqIasix4889DoFftjAlM9Be3LgCMQanDOrQ 0= X-Gm-Gg: AeBDievyh1V39wv4xKhCNsafQxUHq96ycKMd1WWlx90sHBKLpGdnr/5PKG4CtMDkQvj 47kGMWfJR5w03njqoua7DcmQdi6NyWmf3Abgr355P6XbSe2PsHiM63ybN/xKnOqzah2TlOwRnfH cjV5xdUchYekDjhP+MWZkKgu21Vb1NUf0XEIxTAxWGUwhmin7uisVlymyD9aJQ+BCG8pGVy8jmT Hddt2CQlp/Ky6FofX/OpCQt59hsz8W51FkTSu3b2RRs3iuFHgjkdOot+Vhq50tvcpHtrztimmV+ nhzbvIp5oW15RgCPSRH00oAU3+FrpT0Hc/W4TgcPcrt9Hs5D5BEkEau1pj3+Yg9oCAlwyQni9gi pFpxG/PzHyRXJTqHQ5YShaBdYeNIEQcAwkoVkL+FQ/vPqyGk9I7Bf9LYZ X-Received: by 2002:a17:90a:d50:b0:362:eaa6:a3a2 with SMTP id 98e67ed59e1d1-362eaa6a580mr8394459a91.19.1777271961605; Sun, 26 Apr 2026 23:39:21 -0700 (PDT) X-Received: by 2002:a17:90a:d50:b0:362:eaa6:a3a2 with SMTP id 98e67ed59e1d1-362eaa6a580mr8394436a91.19.1777271961165; Sun, 26 Apr 2026 23:39:21 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-361410a7ab7sm38628234a91.10.2026.04.26.23.39.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 23:39:20 -0700 (PDT) From: Taniya Das Date: Mon, 27 Apr 2026 12:08:56 +0530 Subject: [PATCH v2 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: <20260427-gfx-clk-fixes-v2-2-797e54b3d464@oss.qualcomm.com> References: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@oss.qualcomm.com> In-Reply-To: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@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-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA2OCBTYWx0ZWRfX0Gk0ERHUDZn2 FLam8H+JLyV4O9c0T65n/J4J39hU6zZj+NHWU4NJShRrUQn1nvAgNSdgANW2oagPH2sH9+VYlA2 nG4W7Lq8gdnLK+DXn4jLt2ja92ozMDurV914yrxcxqyqktQWjP06kKPGvxtrAS/j6yEfSrIE7ln QJGw1etlsK0xKpviQuWBjeb7CG5Sb2IkU6VoFwrOXK8TdSygsZqLKd/C/dHTQB5o1KqvI85TPAl 50MoMrmLY1IUnl15eJ+9DSYTWvBXgXMzYLHb+/DX1SqiD55gJdFCnZpm1jRPrhH/kwn6GIMmfQD s+ier0p8aeOQudCr27x+E/UDiPSzbWqcH7ziaO7cpSSdgQA9bdSAsPKa4bm5TAi7QtjQj1nNzbC L7mBC2Flpyv2r8ru6nfNKyCAdtxR77qrXF+EMSbV+sN+hHwNNjIFphOaQ/0Qv63ttZtzvRxv8HN ut50AYkZhFbuu/ijsAw== X-Proofpoint-ORIG-GUID: 8Qy4D5zwd5wO9Dm2ET20x8i6wsSlABpL X-Proofpoint-GUID: 8Qy4D5zwd5wO9Dm2ET20x8i6wsSlABpL X-Authority-Analysis: v=2.4 cv=UcthjqSN c=1 sm=1 tr=0 ts=69ef049a cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==: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=iS9zxrgQBfv6-_F4QbHw: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-27_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 spamscore=0 lowpriorityscore=0 impostorscore=0 adultscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270068 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") Reviewed-by: Konrad Dybcio Signed-off-by: Taniya Das --- 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:14 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 43A38371063 for ; Mon, 27 Apr 2026 06:39:30 +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=1777271971; cv=none; b=cFT205VTsgYMY34AHsY84D9FJXTmPPKZsrxL/dswhuz8CEC3L50nzll8pHeyXkI7NEljpOJDecxGRPInS1ALgd1Uo6bIa0ho6310G36hdvKBE69Px+C91vk/auiWWjYFTQ9eZXpmOaShsYpWD3jsnoue5Y2lIoaekfKdnSUaoVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777271971; c=relaxed/simple; bh=hwRRAH8UAYgLO3zo/Wqo17qjWrWog7hnbtAUy+Wu+u4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AyY1N07omoYPV0YqVQcDY0wgZYw6Twe71My1Nmc977kBF1Xbnn3woeMl+jlg1LwmKrdKL8RDOYT90gTvku6caWwuKsFWY9/C4uwEpSfCAxQ0WV9o/7vmfJ63ZnY8ffrcC0zYidaFDaY9PDB0nhSb0GZ6voXEz3Fs5+LIx2ml1uY= 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=C32//Zer; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OjeDkX58; 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="C32//Zer"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OjeDkX58" 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 63R2cCKt336820 for ; Mon, 27 Apr 2026 06:39:29 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= 8Hc0hzYvnf7Enn+b3y97rEFqe8dZnu/3813t2l1Q7ag=; b=C32//Zermcpsa+jx GsUJtf59SDcBxsoUyyTcCKLD79nVwErA3LUsUuqaYb+6zmF2amaSZdba5EtMxMZf n6YTA4t3ZP8nazR0BfpuOVoeFo57agowX+gosTdfJxyxfSj4w8jEtUbuBK8dzung lf2QsRpVhSxK08dbaSuzo4VIGjgWKJMKQ2lG4ujNmlVUPUlEFoLytIZPrWHGZOR7 Mei/cvTwNJKzXS8BYGOSl3HHKQMuLYiUVkv/Uu2heDI1PSS/keS1NhShVHN3t6/b 6RTLHYbIDt1Co63t+nckKycSNSJXVals1qajElQPsjxNaVuTBxovk4pRKAlMCG7u bBG3FA== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drpsgvmt4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 06:39:29 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-35daf3d3030so10339667a91.1 for ; Sun, 26 Apr 2026 23:39:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777271969; x=1777876769; 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=8Hc0hzYvnf7Enn+b3y97rEFqe8dZnu/3813t2l1Q7ag=; b=OjeDkX585M+rwXdZ4w44WNKgatEJD66weXMX+/UXjGr7bdBRj1eKMPVuMHEwUUpAca wHMHO5UYBXMuq88/maSHKmyRE/7nkp1V6LKh+JlbOsgHEUA8vCYcC6pP76savw7vsYLx 2jGwPQonEIN5MmNybaTjkZLUwQGlIbLf2vlliuHZOy5M5Sl+Gwlr9L+8izSOW0mGnE4K ic1ZkDpT7JSnYRgKOYfZyf9m0CNy6l9uNmfJekvsqA/yFpAqPBtCFyiLE+YXZ816bp51 QyyBbHOWGFf2MkRdluBoVqceq3anisa5feH4JzXFCR6wGpbFYlM8YPIksV+67t6UK7Xh Gz4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777271969; x=1777876769; 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=8Hc0hzYvnf7Enn+b3y97rEFqe8dZnu/3813t2l1Q7ag=; b=P9yL5guiXPxveR3yQyTZfO3/PPi88zyy5P5m9B8o0HCcu3063p0EIbY31SfYTI0/bK DvYDZ4VlEHwGE/ZJaMlUgKviixVaKf9KfMtahWteDsVuQTbNJuHIoBVI5R2ZbKGqT3Sd azPlv6aVVJ8yEdNoNHhjYWkj2+MFOFFGJXu4za0ZVTjTO7B+eU4xxsP0O9qPG7B6EMeC Scjgj634YXi3fr9TYy0LTFHDEhZ8mhTQ6HItc7R0kjQEySWSjpbHedTggWFIwp27gJDa 4Sth3XkXcTU1JfO9m9A8Ct6Jdnx5tMJe/SiqOZqcitrrXLvFIDfIW9ZtHRrB1FbzTtD2 irRw== X-Forwarded-Encrypted: i=1; AFNElJ8H2GzyIz49PpwoDOdkG2Xgq532PjnFtw6j8gf8JGKkYQ1BoNE/tMuOO9U2pewQ/vxXpXEY7bV8NTg3P/k=@vger.kernel.org X-Gm-Message-State: AOJu0YxJd9PSqfVBkE3gp41sYavdJTOMu725jA+OCbQJrG3rw4v6ds94 dgQY/UnxG7uEDID2XPkmso1w78O3xQH0VnmCRxDCbmx/6SYrSGsTBEyDA2S3j3tpa4e/MfwRZd9 ++pvQ14+B2YOu0VTQi+9V5hD264HInfBDmbX5/Pnzy1LMdQWSwZyYYZR/Rz4N0IWev+s= X-Gm-Gg: AeBDievg9fpj2NkidlaDq0js0ksBtoi/8A/BRx6c1yJX7ON7J9uItME4AhBV8bY87rF qEVRwwEJYL9qQtTXddH7g4UVxbyI6rakunL/FAYbIHRA3AM+TcxkAU+JnBhUru48tDukoO6MtXL k9wdSLefPIQmOXDIwHVUqSxdzOQKlbtk9nFJfBhPWm3FF6a4F8S0vvFX6mHFfVxaPZ/1qZOB034 25WtsKKDuf6x4uissP/iDyTYoN6fKyiNOh+v8QfkKa8c3tQdaOCYzsbhicYxAirRkDqc0NcZTyJ GB6m9/zteNrQ7K8A7WX1oB6a4K8K2o8d2+uQ6EhWBJUa7tYjBWl9W4k+XGIVBgFxy17ORHV9qWX r6rfuwF8Qhd8bsS2j0iAToFt5t7VY4VeIVsaf0sBIqNlGDM5nipih3hQJ X-Received: by 2002:a17:90a:dfd0:b0:35e:30bc:96ed with SMTP id 98e67ed59e1d1-36140402361mr42035900a91.10.1777271968387; Sun, 26 Apr 2026 23:39:28 -0700 (PDT) X-Received: by 2002:a17:90a:dfd0:b0:35e:30bc:96ed with SMTP id 98e67ed59e1d1-36140402361mr42035867a91.10.1777271967886; Sun, 26 Apr 2026 23:39:27 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-361410a7ab7sm38628234a91.10.2026.04.26.23.39.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 23:39:27 -0700 (PDT) From: Taniya Das Date: Mon, 27 Apr 2026 12:08:57 +0530 Subject: [PATCH v2 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: <20260427-gfx-clk-fixes-v2-3-797e54b3d464@oss.qualcomm.com> References: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@oss.qualcomm.com> In-Reply-To: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@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-GUID: R2P_qCZOmEmsLpqtPFa8zZGjyNW3PoHW X-Proofpoint-ORIG-GUID: R2P_qCZOmEmsLpqtPFa8zZGjyNW3PoHW X-Authority-Analysis: v=2.4 cv=Y+fIdBeN c=1 sm=1 tr=0 ts=69ef04a1 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==: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=b5psBqh-k-Y8K5vD8YMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA2OCBTYWx0ZWRfX7iRokYnc3jHd 9tcsCVS1pfZ7+pCiYTZAAZo+myCFLJvnzqKCTfs1YstEyLOjcWHqZF/GZpvdnU+mNlknDpH1eCd ux6uWK1CvYtVNDZJedAfxwp1jCreIcuYr5/5DITLqgeua76oInLn7w3bdIZRT02oUmBE8gTdSnX 9PH3IfFPN9XobrDCO3ZVkD0jeaEvmkkBy7/CUprE6iXcVz4G8ZUSwoJvaGR8Vo4dW88OrCOfi8w 8YSe3OJmlvgY8zyRk8l1Pyjd2SUJvSR1749KS8ki4kg00KOMN07gz6/eFgzMnVWiMAMQEl3WFaU 16qy7+C7DXSDBbn/HVx29hob6NO1hxLO9seppzgX75sbnllWyi0XPvad2uLb7vxSLvvt6AVK7ya Kd9/FmqgCFJpyCaLkOfKIstd+sBzgyrEfb5KZQ+hE17DuDt+5wyP1AO3vzJ1ZS4whcaRr0hLNoc 9497Ol0VZmFKO9rlNTg== 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-27_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270068 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. When the clock controller device is registered through this function, calling pm_runtime_disable() immediately after pm_runtime_put() prevents the runtime suspend from completing, leaving the clock controller active and the HW rails in the ON state. Use pm_runtime_put_sync() instead to ensure the runtime PM =E2=80=9CputV completes synchronously during probe. This does not have any functional impact, but it guarantees that the device is fully runtime-suspended before returning. Signed-off-by: Taniya Das Reviewed-by: Konrad Dybcio --- 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:14 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 4746E37B41C for ; Mon, 27 Apr 2026 06:39:37 +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=1777271979; cv=none; b=t2ucqjYFzL9xk8BWrbVvSJ4NpfBlEO4e3woZBwDrfKxDUMvOY/vcO6ziamky6JQbbzbm7hUxGD4mNOYjijbzNmAu4VnQpfZCKiom7Xu2S10jvLi4oMzfTg1GTFd7h9ZySrvMbXuoLZS9zufNGyeFSEokqNuCSfxgkPHl3827iac= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777271979; c=relaxed/simple; bh=akcdbGGOHDyFpDJgNeVO17N4YErBzFZbupPDnt0Ff24=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dOxKnwX2pdPEmzl6UWpejGHPcwDF9sbJPAJM++2wiTRsEwL1SqLi1XQZSCZb+gD9WWKrQJi7AJcBasTn8yXqHnWj7E+Yw13FwSwHFzal+dhv4r/WlndiRLDQKWDMSZtNO4Sf35Hi8rHJ1YGFkbaM/HDXvvlN0ypQP4C+OGLhoqA= 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=kClnZSqe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=O7uFETHp; 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="kClnZSqe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="O7uFETHp" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63QMpfja3820753 for ; Mon, 27 Apr 2026 06:39:36 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=kClnZSqe3MNu7d0V N2PI9R93KmB/Ek0+xOoyR72UKrbETS2m4rUUo982josgQARcxk9dpWxxn8lVCtyj Quy2Nsq8Ab/mmlhbKsrXCuKSViAASGihNT0GdyFHydyel8YHfor8ojoQxO2R1SYW 8IWII5d0ZeP+yjpphUL8fGJ3DT1tpDKzEeUorGaadIZ34VCBFCSdJTT2yPpyteZT Nw+SH6tHpwV4iM8JT/V32s176lph0KhVu83GCagtpS5fyslpDXzSJgLJV0YHvv0V YLzLKO7F0FL6EjapQiwwK/V4DG0wpsoou/vKbSkK6s8rsrK9IA0HcUq4v4A2EoRS D65iZw== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drnpw4r3g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 06:39:36 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-35845fcf0f5so10878164a91.0 for ; Sun, 26 Apr 2026 23:39:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777271975; x=1777876775; 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=O7uFETHpVvXmvcdUF1RFguebju2gEXQssIQpbzo8xtNYcEo+YVV799cTjT4zQwOLYG z7gZ+ABddJv/y1Wk0EVcfGmSgyPt69t9TYYXqecgbbQp6SY9BNWwcbYb0/G5MICt3XLL BzyOlpb3xmEHFQcDFZcWgpIOYsnaDdJ9RkCTfl8jbSj1PsOiICA2HDBlSDSzWh2EwYNy VfuA9yCMr/Edbo9cTCxFUOU8SmVCx9yU8wwTj6TOoY8LpXy8UMxPrYEBHsm4MaV+ERXD sCeJHR24fnEKpsumjcCidutbPhC32uniZwi9IDO+xJaalaEqlI2SeDr7D2/qfTVfYc/z y5JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777271975; x=1777876775; 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=OVyoGDWN95OvPpihP4Ht7uDvE/HKqtNUY/LWv9d4RvA/3q9Rv7gJfgUbQofpu36XVk CLf2j8iCB+fKtO/JWalN5hJagYO/k5B+QEQ1tR6WaTLG3mYWxtf+TUl24OkU7bJp0ASF nmKtzxx3aho79HDNbhmmt7nFGtdcTIY1qwj+LtiqXbJeZRc1oliCU03uWrqJdbBYs0aR c2p2bsO+pxnlIUOFI/qwwUSlqMnKxMaCx/JFke+Tz/7hzeny0mDQgVslKOUrt7WQQfvF kiV6UGIJ1rCpASCH/I62OUaPkqtXUCQyK0YeubCNCH1IaYafGkR1YBiYjtarZBinoWr6 +ggA== X-Forwarded-Encrypted: i=1; AFNElJ89xnJZw7Yk5kI9YU1IqxxCa/mO9MLUlAJvnoorOv0fipbTtSYLYyuJ0VRyXwBco5A3pvJZgjlPG1UBAiE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+5i3xi+UsQe94NFesBjvj8Z9Jitn0e0UojT8MOjNAMDpR0V0U 7G39LQsg+BACZ+d8SrayvHN0rXpTTDT0Z4ArM7BnIABmDzc9htVw8I35g8I4oXDnjIqBk1FgjHI 0f6Foohls4IXOB/X4eZeOq6Po8ykfX9antrMO68gB5CBXnLIu4bWAIqbyqPdbiY1ekMw= X-Gm-Gg: AeBDiesVhmChEun6lY5Mitf+cwMIS2K0mMuGH1PCYO0iAVzQP5+BOiW6EhgFb3/5Ksd UVa2tMWcaFLgrOqcbFFTVv6dkQEdKcyt5E1MohAykOqehZUwplPQ+Sjw+YPuUTa0t61gIrfFKGN QYK5dV9bDd3frb8phudsyfpyfsolAJzVlEyNdrSzxgF40h5zDA1LXXqNLwGzWWAaRiLKjEUO11h brkI0GbFB3c2sMPmIecxhpPlbahZp/ZXqXtRXXGdzKdvDufAw/KJjT+7VX34am55KWJW1IfYYyi Zkh7xPjB3XTL7dICiKbCct60M0I3dSIKHyRtA0quf+J4QEKWyGRY7CkSJf17lAJeHdQ2zy73uBK Un+9190/WwQstMAeg1dqS8u+UEckkrWn1RmExxSbAm6naxqgKncNIBJyD X-Received: by 2002:a17:90b:558e:b0:35f:c1cc:fee0 with SMTP id 98e67ed59e1d1-36140290941mr27724104a91.8.1777271975224; Sun, 26 Apr 2026 23:39:35 -0700 (PDT) X-Received: by 2002:a17:90b:558e:b0:35f:c1cc:fee0 with SMTP id 98e67ed59e1d1-36140290941mr27724083a91.8.1777271974659; Sun, 26 Apr 2026 23:39:34 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-361410a7ab7sm38628234a91.10.2026.04.26.23.39.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 23:39:34 -0700 (PDT) From: Taniya Das Date: Mon, 27 Apr 2026 12:08:58 +0530 Subject: [PATCH v2 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: <20260427-gfx-clk-fixes-v2-4-797e54b3d464@oss.qualcomm.com> References: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@oss.qualcomm.com> In-Reply-To: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@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-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA2OCBTYWx0ZWRfX/Zs4jtetsOTg hzewWmGXg280p8a283vS7ULJQHCScrlrdMVJO9LfuVvpJBRzKTtUNMGgLZni+0j7AVvzbiRWOWL GAcu3nYHZuOaqcOFzXcTECElke9pV8MSR5dghUdCrOUdRAs4hhggDEUv5NnNMHvwsHECm7M7ty5 /X/5T36BxJDcvzdB+HmqRC9yprravkwkSPtdbvx5Jg2Dbfnm6PX9onkINJe7/nQxn7PruPOjibb dgZCYC98PGf80FdeBq95t9F1IYol9Xmi7dqGXh1uTidbQ9nOgXToyLA8JXK6egbiBiV5Dqcu98w QpI2ncogOmHX7G71a/6G+Z4z0nSVju+pQZuAPlZA3jSDfz7iMn3yEo0UmankqQWhRQhZOSJ1FhK 3owXpSlf8DTDzozXHf+vBb7hwv5r0j0DHHxyr0xE9bqTQzMNhxjCKRRzkTYbrX2hGDN+jx3mYiX ZzNptqhL1ihSdM1js0A== X-Proofpoint-ORIG-GUID: nB3vphqLJnwumcuwJj5LfnpDiDJJ5PbG X-Authority-Analysis: v=2.4 cv=RaGgzVtv c=1 sm=1 tr=0 ts=69ef04a8 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=TmjMgu7cwLfWQ02JmboA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-GUID: nB3vphqLJnwumcuwJj5LfnpDiDJJ5PbG 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-27_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 bulkscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0 spamscore=0 clxscore=1015 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270068 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 Reviewed-by: Konrad Dybcio --- 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:14 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 3D8E5371043 for ; Mon, 27 Apr 2026 06:39:44 +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=1777271985; cv=none; b=Cy5pvBaf35ZOAUsSTFDl9AyFtmYhjOMkrdz9SAtNy17B9w70oNSr7tWvquW1JT/X00lFUiwUExxhO/IgQO50JY2QUK2TQfrUMz01vgJWy7d7hOVa82iMk/nhvAOL+x1rwMTGRpMlKNV5vRLWfc214PzDBYbf/7N94rIK+S0oIfU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777271985; c=relaxed/simple; bh=sU5/bKTcHz4y74cRJJQThCJj6V6cFUUTODgu5MX7PSA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b4+raZoukLeXzFL4PoAC1CoavdIF+lVVSErJESyWVOfs6G3QUdBZJampKu60Ly2BuPebUkGZ6QB8BfxX8jjEkrH3ynDEmDLjljEU3fZ4cOCT50GqXpVT22Zc0YK9i/VgdqU8LSTyg5T9Rsp2z5zof2NAw+0UyV6bI94QdNgtRBM= 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=SfzCHpGM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HHOv1xPo; 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="SfzCHpGM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HHOv1xPo" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63R2jUUl2884198 for ; Mon, 27 Apr 2026 06:39:43 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= Spu2aZ7sZlC2v6vcrcvt66Eq5ch+u67lu57CxDRsDh4=; b=SfzCHpGM18QafocW NPb1KXvoKnxgHgJdKWoyUsKg4zsfSgvO6I5f2HH89DpFL5sQEc+ZcccvLXjCbFps VqH8xscCrWKjP9KZRAYSjFusMKws3LOJA4K8p+jjCbfWryXOOZqou0HCS2rRxijh 2WkRC1xw5Xy5Vqzvx7dBvWVJmDyEWgeXkIYpB0ZhKkNBoqrxQWJx3RSBzHwbn9cN AE31ci29FE4nBT3uyRxvv194sKXXUPwZrL/vc7ilvsxRrwlBYDWPoyHRtePR2BPi j6pjXkOzkoNBeoYVpLMYq4gqy/OqefYWfZf4ZhJpcIvu+i1ff3QmHRqodsj+lSSE DBtAjA== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dsya00na6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 06:39:43 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-35fb969a4c0so10775017a91.3 for ; Sun, 26 Apr 2026 23:39:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777271982; x=1777876782; 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=Spu2aZ7sZlC2v6vcrcvt66Eq5ch+u67lu57CxDRsDh4=; b=HHOv1xPoICZJM45L0PgNbbhpCZG8aQfdIIA9qmd+Xg3z2J4Mv6V6c6O/CYA4oJ6WUZ mEXdv5SDjq86Eg8blxq9xuJYH8sX7M3S+qE533UMTdYltl0Fg32sp8Bj9xx+rR5Ue06g TIbVWJbLcHvm6MdoEVzhK+YS7BzRkzVTyIFFulYoiK9+rtSI6LOV8AyIvyv9IG8rmUxF eypQE2HdcXNGGPUYh8qOMSP23rU1G+Tm6QDtYH1aUrAz21wNkdYbUvJLMvnxxeaKwZs7 lMIXC7l695MICU9efE2qxSn+qZ4isuLzw59QC/h/M/ZmfD8VC+kpWMpYf95dnRAjyswg NKAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777271982; x=1777876782; 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=Spu2aZ7sZlC2v6vcrcvt66Eq5ch+u67lu57CxDRsDh4=; b=FUX2XRtb+OsnQvJ1rv2paKtUIkGql97NOznxmvoIlqBdf5a/jkiPIBmHZ++J+FMdi+ u9TTgPx5yotU/UmtJSar4L+YFBX+DdLbvvYQ2dcFwitMlHBDOPFMby4w7zHD5TpP1OrM xyjvC0zsimu9j4rc13xrQj0YttyJrpWk9Va+XpGzVK+YnvkyYWkAR5+Wx42zlgJkx4dD IMJn77+J0O7QHpjCQhywAJo4cj/2A0mAg9CxLWPs06nK6R0Ml9bacRIox1stut36WbyM nd5x5rDa39iTlETCaGq1N1ioBabZB+uJOFxYGw9VD+QSxasJxeKfGMMkXqJ1wlDqFaAP smRg== X-Forwarded-Encrypted: i=1; AFNElJ/T6BGB1SgKJSx9jV5oWOC0w0MjpK9p+PHOXbtsEB0QCuJeZWv4I4EviWiKEXI6Le0jlJKt+pz2X/wy3Zw=@vger.kernel.org X-Gm-Message-State: AOJu0YzaYv5ZHT/1SrphoddwJNOT0CIpIyKf3GsitO/Zx8g5dAW15gKu fq5nXHxw4J3TPTtZ2FWXd4WcjAHKFmk9ppD7A0rrPMR2z9OkyUrGq1psiyRKfORk+xhICMt3N+J PxYuvTE73Rk540cS594nXJceABehUt9FZmgP6iWXYNC70fAVIyEJx7sGY3Z41NSd3UKs= X-Gm-Gg: AeBDieu1DjdngpuYMM8WIsWRD5AZRvLM5NeRtWZ/uECS/EeZUYSNEqHMPe2DwtzDPZQ AJbQz5wjxPxETFwJ2/PyOhfrJ2lPYcg23GEHErvnQDTwaqClWVqHR4FQ1kgFWk9ZTMsUCGNst4Q cscPiqEqYkNc9MKRk7Q/aLmJECZMR5si9l5/nW7HepgjLVMP5GxQ/CwAB/b20nhv2UmjS2E0pg0 s3TidkKVItX8xr6/GnNxBU1SD9YTwCY46RScB/oSroKJYMOKoZZax3DiTcp61fXhmA0PU7sB/xc cdi9pkH0hPjRyphuZSpXwlWBjNExWdRVQkI2/oMgeXJTUNSEPzp5j+UViDyzEd8Z7UTOMQl2976 kbH0GOHGtAf36ZIho//3Kbw9u83BjcB6Axdi9eIBGVE0JlGZRaRxHQwct X-Received: by 2002:a17:90b:3f4b:b0:362:e7e5:a20a with SMTP id 98e67ed59e1d1-362e7e5ac9amr12823667a91.4.1777271981950; Sun, 26 Apr 2026 23:39:41 -0700 (PDT) X-Received: by 2002:a17:90b:3f4b:b0:362:e7e5:a20a with SMTP id 98e67ed59e1d1-362e7e5ac9amr12823621a91.4.1777271981496; Sun, 26 Apr 2026 23:39:41 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-361410a7ab7sm38628234a91.10.2026.04.26.23.39.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 23:39:41 -0700 (PDT) From: Taniya Das Date: Mon, 27 Apr 2026 12:08:59 +0530 Subject: [PATCH v2 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: <20260427-gfx-clk-fixes-v2-5-797e54b3d464@oss.qualcomm.com> References: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@oss.qualcomm.com> In-Reply-To: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@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-GUID: 5kVVsFCLib_ZahlQI2_l4XZXMyTP9lov X-Proofpoint-ORIG-GUID: 5kVVsFCLib_ZahlQI2_l4XZXMyTP9lov X-Authority-Analysis: v=2.4 cv=DZEnbPtW c=1 sm=1 tr=0 ts=69ef04af cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=6racf7IOMx3K1H64_JMA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA2OCBTYWx0ZWRfXyQMPQ0R10jA0 6/CGf0ab3tKeKx9xVtEoLIrF2a44P7Amdr843eeGWOfCdsoaa69Kp8E/MlRak1OTvenK0nQMBbM fvEHyA5zGSfNN+VyH/N0Zj5BaJzkTuIu0dBIGt+c03ruHvqvjYAViEAC9qd4/kIyUvZi2aowFlT y7RQrTxroWzpVsOmn2InPdS78dj9aBJUq8OP4zwT5yYMPNGfvUpFohDgTxzK2ZTz9TM9Ao4ugtO kVUtI4sWNc0ON+xji/7v2rYkPWiN43ZDbxG2cFADyJaIRqztFTvoxoyfvjwgXipk7jh9nyVMREE wAwxzWhEz26xpmOoaTH7uxLuL9jTwFNPkg5imq4brp6VkotLUSRxYdnqqvOOIEfe38AhIL2V72A MBvNKxLger+0kabIPHxfiUzmc2npKqEPhkY2v8lr0GOhuCaz8riymP1gQXd1X4tZsDGLTK2pbFR L0gI7Td/xByFjUp8hgA== 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-27_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 spamscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270068 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 Reviewed-by: Konrad Dybcio Signed-off-by: Taniya Das --- 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:14 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 ED22D285CA4 for ; Mon, 27 Apr 2026 06:39:50 +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=1777271992; cv=none; b=cXhILTVS22cnCixAjGIXTQksgY3ewE0JeQT/pKjqYBYJKBC6ijndQOqQPq6hW6AfMQYOK7BVynjMu4EuUnM0e+IzbD3CFAXSXnAH8WLciq+2u+rRbJCsroQiWvE7PzICNeKTBjaygfxMS5qIDmGDLUi1hH2DyJVPxvS/NKDYUcI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777271992; 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=kvt9F9CQrXwPSnu3PVEfKPleVswb9ZyFttIHytNDHTIZbyzvwg1SokMdsOnfZzGo8zb7vtjyqlVw2qALQjOB5PQtARqvDNHu1t9YdfvzPkkFAPmRrEeoohJUOrdP4lVRIHVWrHSx45iwBeQ90tez/4dxA3PW9y6DYL0dG7ayufU= 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=Nvom64kR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EE55X/SM; 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="Nvom64kR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EE55X/SM" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63QLOCS62262458 for ; Mon, 27 Apr 2026 06:39:50 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=Nvom64kRl3CVEg9v VxzjqyKzMgv4wplcqD02BaPhFVqe2fyTtYCnOb+UYSakQJMGOZC6MwSyhr57OaVX 7NHeQRYVmTve4d1AGhHmwQ0RkVqbaOXVPChTKYjIKWum4DU708aMBbIwRxxhmGRc i5rd9Az7NSlAPLXx8EqNzebqLRuM43iA/dJnBYQHyY6Im+qeyAZUOYgYivKf78Mn n7GhnrsAH+s1q8do/quUagvVdwMj5CYboMCY1eo8sdcSI7qYkYcSwWLTQ38pqaAm Jx1Fh/jCkRTRpBOekU6TU9Xhno0ZwVSgp82/RknRP4f4dRFWQJ9FgCABGiRE+ft6 hxlxJA== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4drnmr4qh6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Apr 2026 06:39:49 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-35e59791605so10496787a91.1 for ; Sun, 26 Apr 2026 23:39:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777271989; x=1777876789; 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=EE55X/SMyHbmXXYVPTFpP43ypOCzQvlVBXyUnyBlmOkRiL8MMryaUK3iQFcPq6ec0x VxFWvN1lA31hsNsAPcxW3kms8LaMSchW59qlOvWUBvdPh83acT0Ck/A9DCsYnxP1mVHU 0OtMcUjApgSMTvQEQHtNWQlCzUfCdly/04MRFzYLJvn5LUzzKhKCKF0cJVDcRK7B/rbd /OhdGwU2g9FOKfm5+hHWyPV1XBSrx1ntZ7ZiKiPoyNUOZNZRlCIKTQTPj3BO/Fmvkr+F dgoH/kpX8Rprc9TZ/4mW5i4hyzCTYVF2fUW0+3hWwea389NCqdjHxjgw1SqPkZEXsF18 m5vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777271989; x=1777876789; 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=b/lhMI0/iIjrGHCve0MlzgvGO7a00Glm0nqBVPBkvN+4P5fYCBI+0FPZhSMbraEGna qQSTZ1Zqv5LINeBj+n7P53ukPFGaI/xy3Lxi0ayGJIan6xTi/6766muZluQLKaFnH8bo O2Y3rmOP1fsSVHWm02S4/loGd+kQFFfu7qNUdJTST3OkuOvX+3/3nXVHoh1dhwG4WCDY Sf9K9h/iDCyu6o1IMrKFPAOXykPHjFwydHNZbBSXAVaGIKFbfdOe2E1xkT7aNJELuDvA tZRdynq2oNbM7z7vsyGtEvHUgUvA/rIhthrllnkUyuzkOCdlmZxANAgKh4MdSLh5px49 aytA== X-Forwarded-Encrypted: i=1; AFNElJ91awK96cXziw10Vo6F7pSQomL3r2Npj67qw20/PI0EcLL4jN0EQdMU76tn/YHYa9nk5minamPZoCvlKwA=@vger.kernel.org X-Gm-Message-State: AOJu0YynYnEzO7t30ymJ7Pu8aPg7fQSELOGf6bOCnHr/F5W8KVA1c+6c qeYeeZGQaQPRshujykNNXif8p6QU452fYKcugKVi4mtM7g5ky/pWsIzAD0SYN2PQrpWN2iJLBxc kJsO3mii1IhX393kd1qjWNS14iuV3aH4eziSxlsxUiuq6Cvx1gUFK6XJSZzRrXRPtNNU= X-Gm-Gg: AeBDievnmCyA888I788kle/E6OtFC2Eyhtnr/ZL9nokRfzTIetCe/5llFGe82fKvAJS mzD1W3FyJ7HYmyeSJoThT58Ee99Y5ye/acwBSgqi38ms6iDLU4B3+nIYd/Yl+CKsuSRol07w21l +NohXvl0vdiceUvlglKJSwXeHSu7Ed7gxig6xOm7v27mlH6On5R7t2T11HIN4Ambajqxwr4ALWi wKNf0xjWVqyCGYMn1M27iZ9bXMSOaD9BSVrupEAkiZCHPHiNjuyiZsMeO+hwASSgdh/4Zw6twGw lHiJjuECa0fQ90RYxZ4LEDEZwzfaJhwloXX38mydjmsxrMgBrBl1HRyNwUFfFlNSrOKNQQbI+6j ieQK6ihNZsHYzcnqMPSJHc7VfckMpydT/bj1FOWNUgCy/bzy2q3E/UQvy X-Received: by 2002:a17:90b:164a:b0:35b:96bb:47ba with SMTP id 98e67ed59e1d1-361404c0ca8mr41138491a91.26.1777271988841; Sun, 26 Apr 2026 23:39:48 -0700 (PDT) X-Received: by 2002:a17:90b:164a:b0:35b:96bb:47ba with SMTP id 98e67ed59e1d1-361404c0ca8mr41138449a91.26.1777271988319; Sun, 26 Apr 2026 23:39:48 -0700 (PDT) Received: from hu-tdas-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-361410a7ab7sm38628234a91.10.2026.04.26.23.39.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 23:39:47 -0700 (PDT) From: Taniya Das Date: Mon, 27 Apr 2026 12:09:00 +0530 Subject: [PATCH v2 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: <20260427-gfx-clk-fixes-v2-6-797e54b3d464@oss.qualcomm.com> References: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@oss.qualcomm.com> In-Reply-To: <20260427-gfx-clk-fixes-v2-0-797e54b3d464@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=aqCCzyZV c=1 sm=1 tr=0 ts=69ef04b5 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=wUjT8lVc3dO_4AMqBZcA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-GUID: R8a7rhOzH4IwAtM6QjxbvE7NhGi8mmcm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI3MDA2OCBTYWx0ZWRfX2YaRWnaeunrR KrTHjfhezRDikZVInaHsEgb+PV7BXP9Z+WKwfJsr6kk3aW2pDI13ubPrBu6eRted809/MMt1bFz bMtssd0mwAaG+9csDRIQ/eEzMWTBuzSrVpy8jMyX3woYrIwiljLXtr+t8iWOtGP07V5It9tXI+3 3TGNQSdm3ClG6PTsIzjK4xcZs1rMOnwqfa4Bp5dvQbA3YRyzu7kv57fVS1Eku5N4Ej2K6I9QMBq 6tAZFvoAM9zfgr5R01nXOJYrxt0rJ0X/FVHbCwoEfAPfGTIUMdpn2h1W+ERVkCiWtGOzGPsy7MX P75IC8tF5HkhJ1Z6bFFepM+3oVAUOAqqpjoByWkSbkxbKvzMP/k7ePj0dAI0dyEpwMV76jZ05bm ikHJszlSC3ynNhy6GUhEKasHL3DIaXfHgruDh52Cd8UE4MXMwRTfjLWeNfORgKtw8MH3npEmS4p 0RA8VhLIva+Y2ZEBIqw== X-Proofpoint-ORIG-GUID: R8a7rhOzH4IwAtM6QjxbvE7NhGi8mmcm 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-27_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 phishscore=0 spamscore=0 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270068 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 Reviewed-by: Konrad Dybcio --- 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