From nobody Thu Apr 2 18:53:52 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 1CE5F3DA7CE for ; Fri, 27 Mar 2026 09:04:08 +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=1774602249; cv=none; b=koW56KcNsLQsl56VeA4PW6rkUQLZ7mICMaJuQyPTk5XotEfEOsqfgIILHZCDVDoFPSysUe6lZVLmGPUODR6lJPr59OG8MmHYTKuyUI+35RJtF3p4P1uMi99sLPAX17xdcIJjWcG6X/Q6NINTmmEs38hZHeT7gE593uEuejTx+28= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774602249; c=relaxed/simple; bh=L22x1sAmNTPfVGmo45h6OxTwrRURMxryt2366AE58cQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QIDSSmxsnDw3rCyK87AMqh8h0cWcJywn95Q+PnyqtP5SUG/rVw28UddXXuMkwXDCLeUVDP8ftyNn4+vKIynAVUSfwica0GFli0nyZRcbOjss0uXqjHTdnDzu+j7mWf1i0qvmvbQ3RKq+B0VoETRwhX5pA0Qi4V9DHzbpEkbldEc= 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=YyYUOzlI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=d/NNvbYK; 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="YyYUOzlI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="d/NNvbYK" 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 62R6wEFF1710544 for ; Fri, 27 Mar 2026 09:04:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=wUm1g75HVM1 ePzrrQoDeo9sTJxG42J2EjNdxBe1uf3c=; b=YyYUOzlIk9vqMY6mh4cpy7bl0e0 DIjyOWSM7552V6EA896uPxRz8YqxWhd0gl32fuwO3ZdSsoyrolbL4prfXelS5XHO uqCQNJygaSxwGHVzEiS/NQgfEs0sTkuO/MzHQ1lCIvcUXKRWj7EELYHn+cf5eOOu 2wXVg2f7hTvvmRjbx8Ff0tzISPudIXDMu1wOT5HWLDoK6ZdCOZhhX1bG/8RK0D/l jm7ts3ac7gMdKXuSJaO0mRHQyl6iQS87Ung80gQJRGr2doInjRM8QwDu/++h9/xl e+I7m8++ScGNNt0/J3xrUhzmFLASi3JkLzYENUKJh0rTtoMK5HLAYoegfOw== 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 4d5bxvj993-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 27 Mar 2026 09:04:07 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-35c1874336aso5742659a91.3 for ; Fri, 27 Mar 2026 02:04:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774602246; x=1775207046; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wUm1g75HVM1ePzrrQoDeo9sTJxG42J2EjNdxBe1uf3c=; b=d/NNvbYKZkRfE0TzBzVWU7R8OHswSeLqksUOxyCM936FMGOMoOjeoIgDtDQbz7qjDf U2uhE5U5H/2rr8x9AQJUYQgKH54U211i4wAXjopnk2PZ9eIgVkh1z53oWcealkj9VpxY NSdRwQ3Km9lME9EBhAkyzh0dP1QYPgPAaD0NHBk1zdbW/oCo7th+Xkswje8ax4HbD2rE R22j6MVe6o6Prf8FyrJjxxwT49QHRDXE58Y0PfGyVHEVMw9K1igjjSU0DCE8uEz9TQTt YUGyXsFCQxX1TKEXOt4rLu3B8qvXEIdWL7ISo469TAZn/rRVzm2KW4LvI4YGc7i4mQOA 97cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774602246; x=1775207046; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=wUm1g75HVM1ePzrrQoDeo9sTJxG42J2EjNdxBe1uf3c=; b=PT3x58CBTYBxiQZ0xzgVLXM/qlcrXUYJ3oLYCpzxUgpFcvrXVaCoHbkOy1JnYxx7+0 v04LtIRcp1oM95zualm1azGoqOb0o7kH1dH3aoyN4PBr9bOYq8b+Bj1Xu0U9Z3KbgtQc 4+IDd2gkKmGldc4+DvsDQBOJmL9qi1/7+ydyUy0cXqPNhXt1MEHuuwBXLGNfWcoS8Yhz iwiDh9BpfCciXQGWhEHok6XtdlGEJu05BdVnWTGw3JCJywogK4UzUPDbVCh6jp9ap0ry IOwpiMieoeG0ekUKppv/OIyPtPuxlWJhZLgkdkKmSD8+RtaiADlekA076UrbkoA10Rb7 cDUg== X-Forwarded-Encrypted: i=1; AJvYcCWq9Qwbr9Bf9Ew+OV+ShEovK2g0APZIzsyyr7gAeaN4Vj6nl5dQ5xxDQfpfgl0YXc1NeC+ihpwxb3eny6Q=@vger.kernel.org X-Gm-Message-State: AOJu0Yzh8+sDO4EFCRxkTnySmVjkKgOdLaP+vWwuIrMBCElQKwZShW8j lkiw2Zn/2NBcv8n+i5FWjfz7Im7PIIH5m2/bhgDyW5RA5ThXumh3uk128B6C9NmuvULk/gBaZCv dcE+cXS0G83s5VXK5ou/8VK2fKqy+VobsRsET/HuXmK4w8I5nLz22vv7CDhlTMbPjVRRmoCZuQv U= X-Gm-Gg: ATEYQzxUoZUcQamulMRkqDd59ft62Y7k/9DZ/LZMhuHzb2rtYSkKlMTEOBUGuEpuc31 /kdWz9Teo/+PysXLOXKs1m1PGpXrUfLEwHp16KyBV/6dht6U4fIn9kddKEUzHB5H6LrXcHaGa/v nKRKWZ/stHbkyXX0A1uCZ7oeRPiwz2+Lu/ACeuQxjYGH/CBQH55NUuzsegOA8zuS/flIbTglPsH F9J+BTi7iQaXPGgirklELz18/s/58/nSEAH5OGCuvbwfE7DjIp9tPbfb+AUsMg5Chz12s4sKT23 prdDVEJoUsEo4qQssiEU/yA46m7K1i24z0QUbxORUecerbLX3jzY6Ru0uBXLoE82w4nnKSPWL0R moLatYwPYMGQBaliWfCMrBuhqwztgBv5mCK/0kRA4nWPGKsLTr/XHKw== X-Received: by 2002:a17:90b:4c:b0:359:1130:1047 with SMTP id 98e67ed59e1d1-35c3005bb92mr1909516a91.17.1774602246436; Fri, 27 Mar 2026 02:04:06 -0700 (PDT) X-Received: by 2002:a17:90b:4c:b0:359:1130:1047 with SMTP id 98e67ed59e1d1-35c3005bb92mr1909490a91.17.1774602245965; Fri, 27 Mar 2026 02:04:05 -0700 (PDT) Received: from hu-pkambar-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35c22a81744sm4230006a91.5.2026.03.27.02.04.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2026 02:04:05 -0700 (PDT) From: palash.kambar@oss.qualcomm.com To: mani@kernel.org, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com Cc: linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, bvanassche@acm.org, shawn.lin@rock-chips.com, nitin.rawat@oss.qualcomm.com, Palash Kambar Subject: [PATCH V2 2/2] ufs: ufs-qcom: Enable Auto Hibern8 clock request support Date: Fri, 27 Mar 2026 14:33:46 +0530 Message-Id: <20260327090346.656324-3-palash.kambar@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260327090346.656324-1-palash.kambar@oss.qualcomm.com> References: <20260327090346.656324-1-palash.kambar@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: paXq1UX5qpB5PWJT7WhVi2Gspj9DjjM8 X-Proofpoint-ORIG-GUID: paXq1UX5qpB5PWJT7WhVi2Gspj9DjjM8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzI3MDA2NiBTYWx0ZWRfX8ZeK+j9fG+h1 NcXu/TL9swo6iSA0p5gAPD1cWnUyDv34cDMV07g5kuh4OZq8rJLZFC6HpdhNj8umr0/OBPjTQ91 ix6UFrQdTy1bClRNPyt0YrGYqyFLozxTkQQW3HIRiIuj9gqNMcV6nhhGwFlMj1wD5JO1C9Q5c6p trEBvkzMBg9lMwob2FKkB1mIfMLpFdEM25Wm2qOBftPKcbRQhqzYA40rWrBxh0IDpAWi/r225qV 5lS5FlFUqZ73LFPG1LsW2+A9pQz645Gbh64l2Fn8voN1iX2Qv7b9u6KTw/d4za2bGlutBRI+sLH ay0q78e1Bx0R9XV5W+O2EnQS0jodZfCQsp8U1hL7EXL2JzE6SlnFPhQhTnlYd9KK3461ZZr4SrW JuaGeBZ0W22qMJSeWxd/pkPWt6NF9JGEyBmsJNWKsFRTb50KC3V8Lu7WAN+5+zpFwIXSR0CEQ32 +usgRUbt4Ad0vAx+vHA== X-Authority-Analysis: v=2.4 cv=ToXrRTXh c=1 sm=1 tr=0 ts=69c64807 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=gce-7N_bzMkFAa6Kq10A:9 a=rl5im9kqc5Lf4LNbBjHf: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-03-26_04,2026-03-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603270066 Content-Type: text/plain; charset="utf-8" From: Palash Kambar On platforms that support Auto Hibern8 (AH8), the UFS controller can autonomously de-assert clk_req signals to the GCC when entering the Hibern8 state. This allows GCC to gate unused clocks, improving power efficiency. Enable the Clock Request feature by setting the UFS_HW_CLK_CTRL_EN bit in the UFS_AH8_CFG register, as recommended in the Hardware Programming Guidelines. Signed-off-by: Palash Kambar --- drivers/ufs/host/ufs-qcom.c | 11 +++++++++++ drivers/ufs/host/ufs-qcom.h | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 8ebee0cc5313..0e653b34b00d 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -683,6 +683,14 @@ static int ufs_qcom_cfg_timers(struct ufs_hba *hba, bo= ol is_pre_scale_up, unsign return 0; } =20 +static void ufs_qcom_link_startup_post_change(struct ufs_hba *hba) +{ + if (ufshcd_is_auto_hibern8_supported(hba)) { + ufshcd_rmwl(hba, UFS_HW_CLK_CTRL_EN, UFS_HW_CLK_CTRL_EN, + UFS_AH8_CFG); + } +} + static int ufs_qcom_link_startup_notify(struct ufs_hba *hba, enum ufs_notify_change_status status) { @@ -708,6 +716,9 @@ static int ufs_qcom_link_startup_notify(struct ufs_hba = *hba, */ err =3D ufshcd_disable_host_tx_lcc(hba); =20 + break; + case POST_CHANGE: + ufs_qcom_link_startup_post_change(hba); break; default: break; diff --git a/drivers/ufs/host/ufs-qcom.h b/drivers/ufs/host/ufs-qcom.h index 380d02333d38..f19def37c86f 100644 --- a/drivers/ufs/host/ufs-qcom.h +++ b/drivers/ufs/host/ufs-qcom.h @@ -228,6 +228,17 @@ enum { */ #define NUM_TX_R1W1 13 =20 +/* bit definitions for UFS_AH8_CFG register */ +#define CC_UFS_SYS_CLK_REQ_EN BIT(2) +#define CC_UFS_ICE_CORE_CLK_REQ_EN BIT(3) +#define CC_UFS_UNIPRO_CORE_CLK_REQ_EN BIT(4) +#define CC_UFS_AUXCLK_REQ_EN BIT(5) + +#define UFS_HW_CLK_CTRL_EN (CC_UFS_SYS_CLK_REQ_EN |\ + CC_UFS_ICE_CORE_CLK_REQ_EN |\ + CC_UFS_UNIPRO_CORE_CLK_REQ_EN |\ + CC_UFS_AUXCLK_REQ_EN) + static inline void ufs_qcom_get_controller_revision(struct ufs_hba *hba, u8 *major, u16 *minor, u16 *step) --=20 2.34.1