From mboxrd@z Thu Jan 1 00:00:00 1970 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 8DD833C5523 for ; Tue, 14 Apr 2026 09:32:00 +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=1776159121; cv=none; b=jzqfi4qzVt6+CrfJSdBoynqeN0wjVpoTioW+hLPIAy81q+SeDLI8DW0eK8rqgVh0jImo5BjovfehC6s0fR6japLcTyzwGXARaRcydXp4OJ3V9Np7/GxQ+zcCFloMEy92x9U1fqqB3sJW3yyguVfVpOoJrzg+rCX7VfCgeoTGtoA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776159121; c=relaxed/simple; bh=93ZtNV79vuouAa8eL2edT1/Lmp8ZOeyQQhyPpBYjjwU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ZOCYLSMqN3yNxI2USuTBYnmsR60R9BsT12XuDccGA8u4raQ413WKkUcIP8EoprK2qxDwgWMPIjBzf222y/PoSFfg0eXGHawlyAYWEuq0l3G7LG7oZjsxY7bLei8NtrgF0//H299T76KG9TQuxV3q9LMpULn8mmMx5y03neMCcWA= 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=NCWU3kSV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=I4qB78Py; 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="NCWU3kSV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="I4qB78Py" 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 63E6bsAs395270 for ; Tue, 14 Apr 2026 09:31:59 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=9koPVHXl3Cu mpziFxyBQPxdRYBEiMaz/dETZ0RnYqIU=; b=NCWU3kSV2Fi4p8qSK7XreOSVhlT iPrxydAJE1efW36AqNdu+oOfptY8S8pb28DSgkQBC3bDuSOmP768+zhHZsPqmjJ5 LAq5TXgTmVqStIsxJ7RYMT3aeyXaDiRDhxJZKJPBa1iU0Z8poEKQPsu22+Do2sA8 6hXhfK8geHwTP/HE0kVhToF82gec/OrskSDMp1+/4dTnAMyPPtGQshDUJIFJBeL7 9OD0slzUg1jZc3Tf46MXJZ/JWFkUNPl6eUAQux7KJQAwc/il38GlCLCV5cHdkjKt aIRgoHGinWZugBzuDPRB02qWTAkc4bVGg0q1Z0ah6lZCRQY6EHoZr0c+ibA== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dh870t3yq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Apr 2026 09:31:59 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-82ca8323edbso5279988b3a.1 for ; Tue, 14 Apr 2026 02:31:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776159119; x=1776763919; 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=9koPVHXl3CumpziFxyBQPxdRYBEiMaz/dETZ0RnYqIU=; b=I4qB78PyTeQwWRnifrRRiYI/U4ffeRXBs0zGX9mxwGo2G/kyCmOqoE5ma6mtSkc/va TwFd6C+T7+yqIf2YBVaQkio9Ruvr6zfXxvgHHB6fjfyA5A5mjVl0gRtirTGSu71pEFnj Z5hH/LMM/yiyeIO6/y+bU0mO15a2RIsLmGYgCu9+1hsI+/3XwMvKvl/gXXs41bPh8j94 1Ym+CWlqqUb8jXP2q+Q1b8C1/0vsE/dtajzVL7aN9fcmxcEmFGgy7rpt8FRfOTgj1Ho9 5dn44ZTNm/u2EDO9NG9iU7zDuFEPPtjIpcgwKiw5Cepvirfrv5uQYmaYLrRspox13eqh 9yCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776159119; x=1776763919; 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=9koPVHXl3CumpziFxyBQPxdRYBEiMaz/dETZ0RnYqIU=; b=py1kYmsPrAvmLe/fl8SkDIWm+sKk0NmcpLPa7plBhxgxzyyvO1q0mLEFy99JO2sxPs 2OkZcathQj/A3jdyiEhQ+k3lMaUQ9dsoQDVRet+/PqcwIwRR6SNEf8ACGAb/audU69pa MJlzUVRTHrKMHdod6Mz7WPGoby97vPhC/1L8+uBX+2+PXGNLX++vTM/ISAa187iLONKk rUNAnBOkDu3ZV9hG8Y2IEmeH80RhOr/0pI0QBpY0S6QusLn9Djy04pNUJfwhmg6hUqwX J0ToQm9qMbuE7xjiYjY0TTJzErRvurvCJxJKgXJdxpC1hBxgGVZJ55J13V7/3xz2a9iK 2Ddw== X-Forwarded-Encrypted: i=1; AFNElJ+G7Nd2hbt97lSAfV/5h/vFlbQu1Uqp1Zp6dFjNXg9NU/FdFSR9lydthm6ZmkzKcxeibZ6SmiDdhK/Z/6I=@vger.kernel.org X-Gm-Message-State: AOJu0Yx4JjVZqXUpVX/DlZlep7J/Zh7VVvgaIYGi+Bh973LE/VRMpxT1 Yr9Jf07aP6sE60pFoInmNvvz6cDJyaMApmxzQffk/h1zLw/BlQSSqKn4+6ooI+j+WmmJ2wd9IHH kxg5xXjsUr4Z3deS2EeK4MkRQy39gexq6h18cgzaQ1muzG+H0dVNwCFMv82qvJxaxE7k= X-Gm-Gg: AeBDievxKjETUFOotcQMVlHD4NBrAdeeXPksdpO09AKeIY2wn1oZ1JRfKyvB6CpLdNI sbSmhz0ume+dVnV/BBnp3WAjV8gP3o63y51v3WU26pRGbC2Kw38UWAjXpFeZD1xkHyIdQ5oNg7c 2OzGVONmdJYZRczpSfXa0nQeWtoFAQO5O630i8q+ia7tUPC13kEde7eQSdompQ9uRlUdJ8lJmwa Hdj6mi8nj51Apqklqu9hkYxEAv3D++7BGEowSWbGoLm9feZ6ZaVqP0tCoqbCxZuBxm/fQ+vwSuK 38YYC6oRxkzNgUXC+595RQ3Yg8t/uwcQLI5KKCwS63H1hcSp1RqXM0qelnxzePlfcmMR0AXIl+g TuR3mtM/jTkkc02+UQUEVYHoMEFrmHrG/gLWqpCTm6R+uV1JLka7uMw== X-Received: by 2002:a05:6a00:3c86:b0:82f:5051:f022 with SMTP id d2e1a72fcca58-82f5051f702mr3913340b3a.32.1776159118696; Tue, 14 Apr 2026 02:31:58 -0700 (PDT) X-Received: by 2002:a05:6a00:3c86:b0:82f:5051:f022 with SMTP id d2e1a72fcca58-82f5051f702mr3913312b3a.32.1776159118224; Tue, 14 Apr 2026 02:31:58 -0700 (PDT) Received: from hu-pkambar-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f0c35194asm17321642b3a.20.2026.04.14.02.31.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Apr 2026 02:31:57 -0700 (PDT) From: palash.kambar@oss.qualcomm.com To: mani@kernel.org, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, bvanassche@acm.org, shawn.lin@rock-chips.com Cc: linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, nitin.rawat@oss.qualcomm.com, Palash Kambar Subject: [PATCH V3 2/2] ufs: ufs-qcom: Enable Auto Hibern8 clock request support Date: Tue, 14 Apr 2026 15:01:35 +0530 Message-Id: <20260414093135.660725-3-palash.kambar@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260414093135.660725-1-palash.kambar@oss.qualcomm.com> References: <20260414093135.660725-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: 8bit X-Proofpoint-ORIG-GUID: iSJ8yUjAyHjvkx6DBpXxREdUGklpL40S X-Proofpoint-GUID: iSJ8yUjAyHjvkx6DBpXxREdUGklpL40S X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE0MDA4OCBTYWx0ZWRfX23ERoQA+e+kB aaCpnKcd0u4bAkJl7pYnlJfwU2NO0StNEe7D5pBOgNAkEW/TgnlABG5XrEO4WRNYPdtUWerpD0h dwPK+UDg1KGely2Lrh48ICHF3g/cyeUrCQBy3GblCKiX6htJMXdcV7ek8Caw4EWMae4t5PdQrPB QjmL9AwpfgrJZ3R8wvCH9YZbqQv3geJ7mKSZ16/jfEqLaBPRm2MY6aqgBY2+Ta9ZXkqJYEZOBOY bu1e15P+6WOKe8h7RVVZ8PWY3eKcd58LxowIakdh9Se8T4IVbNJOqxpIcl1u7A5mBouk+iAQAbz XynvEoPc5MSWra8TV88rCHJu/bzBZvsTMxP3yBFvW0h/ElKhZ05iz3EiSKyX19QRs4GgFHL4hpM hzKxr3b3zeKb17R7RSNmHjhQ/FjTYtpPzkVnKdq9quAM5bx+jDNlSmOvW6KCHxoHzAGX5TMKPbf LdO8pDDetZizqm9CQJQ== X-Authority-Analysis: v=2.4 cv=MK9QXsZl c=1 sm=1 tr=0 ts=69de098f cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=gce-7N_bzMkFAa6Kq10A:9 a=IoOABgeZipijB_acs4fv: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-14_02,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 clxscore=1015 suspectscore=0 spamscore=0 bulkscore=0 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604140088 From: Palash Kambar On platforms that support Auto Hibern8 (AH8), the UFS controller can autonomously de-assert clk_req signals to the Global Clock Controller when entering the Hibern8 state. This allows Global Clock Controller (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 | 10 ++++++++++ drivers/ufs/host/ufs-qcom.h | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 8ebee0cc5313..ed4c531e1fb2 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -683,6 +683,13 @@ static int ufs_qcom_cfg_timers(struct ufs_hba *hba, bool is_pre_scale_up, unsign return 0; } +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 +715,9 @@ static int ufs_qcom_link_startup_notify(struct ufs_hba *hba, */ err = ufshcd_disable_host_tx_lcc(hba); + 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 +/* 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) -- 2.34.1