From nobody Wed Apr 8 01:18:31 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 54493357737 for ; Wed, 11 Mar 2026 06:09:27 +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=1773209368; cv=none; b=ltyQFomCI5p1R6nw8xiEqIMy4OARBj/iizaTerQomcrjRQ1pa3G3SmNByGnTLUCUYnGY9DTt+2WfPTT1/oMb1EqMIg93wwamfArvMT8JdNT2hwph6zhrCQuZjECyPIOF5b+ad/UmnC8rYu3rBII+ZBnndBJNF8riLWY7W3t+t/4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773209368; c=relaxed/simple; bh=9sccUKaZSr8ywssnVFM1RdHmOQ7XGxUmVBnmL132DMY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=u+IpgDGRLXGYWYYyz0jDiaCXDGZNZ2V/sTx55m7E2Nq/YTyztnUHWN1RyFJdYvpxagYrePS6NSijRDVcNBcps2xTj3iQOtvTxNB7IsMR34kmzFStgLlrp+NwUWPCPoeLJ59JOZMcQBUB6ovwUHgBvcHqpYNdyACmye0K8OyGqgM= 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=JNdKlW4i; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jyV1Uz7/; 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="JNdKlW4i"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jyV1Uz7/" 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 62B2gsGt1572954 for ; Wed, 11 Mar 2026 06:09:26 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=SV8YcDYDzpo HRabnVJC4LyUMveC1weMJBeT5vJRXZ6M=; b=JNdKlW4icpULbagCyHC3FTHEB0k F1ISbD5BgkmAjVlMe16gyWMjFp/Bldx1Xemy3WMRvFt6mc9kuHAFHQYDlT9PmUrW SDUm7nAki5qFvcUi73TCK7gl6zFDRucPMRWfOCqT0vTnB31zfwShnfV4jVmSH8Ea lx4VCk4H0yLnWR1ffQ36UBSS6ppAFrS8Fe/61ybD3X5nDUYPahuBYmYmcSv6Zw5S HDNFnjjjsCYojNwz38oLhUWvlRoyem7m+BjVS7pAk+ZUZ18OQA2KAkz6pBsZThHE GblZu1iWIw6zcFwlatxo4Pv/9iS17UACK6ubTODyQ7mGeghkXAv1OII0q2g== 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 4ctqgka691-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 11 Mar 2026 06:09:26 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2aeabe9b4bbso4750775ad.0 for ; Tue, 10 Mar 2026 23:09:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773209365; x=1773814165; 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=SV8YcDYDzpoHRabnVJC4LyUMveC1weMJBeT5vJRXZ6M=; b=jyV1Uz7/TjoZPAtFs/hRVmIjl4Z/hC0H7yP28/oWiF49LRE/83Pel1QxYVv9WGvJJ8 dXVgcB7e+4GykXwCp37hnoY4oLa5FAx3C0iSz9nJH2T50IiU80Xu8Yivj5OuZai996xJ q4+/BjKDRicbTwEddPlrAUZvvU6I+RZ2Io35URvqSK/bNNoLjZNQY/2kI0d+KiJnaXxm qOZhSuA5/LQ9yymyO1DhqzAKiSTUpEVthwpB2Mq3qAKWk4J7riGB8hC83kIYOhvamJz9 6FjFehe4iJvQa/IyY0YFl1rYhd2RvRq3jk9S59pdsHOzIxgUY8QhG5G0ZDZh2fy8GcJn uXeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773209365; x=1773814165; 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=SV8YcDYDzpoHRabnVJC4LyUMveC1weMJBeT5vJRXZ6M=; b=LCuyOamlD11chsz5q35VQVP5YVBFIQ85ZRu867LosxKnvzmbnwsLfP6y9CKj23M3m7 hA/+b8ck8xDJGZ7aCACPlJq14ICN2jAHlr5a9wxGr555ugs0sllZHWNJDBPyw9vjcXXj LjdMsCabibqofvRHXoWcoxWSGBrLvJiLJ0stDV6u7b4yU+luJVMUkjk0bEND397fr3Fb 3344GUQA3qvAVwrEhFpKp1PKAPegnVSAxFDTtXQ5lSJ3vioN8grmw+RwiISuw+pBJAJK wn6/nuU8Vako0ac4fyKqydx7pjepKYOWwVsva7njwz/AEEAlTB/ZFs+bBm6KZxks2PMs vgyQ== X-Forwarded-Encrypted: i=1; AJvYcCUPK5dCsEDkf4ANMmnPQtVFff2dULMJ1TbixY+63jIUk+sFAy4ZdbuJpyCEiPlwdulwyxMuxywxFmP1uAU=@vger.kernel.org X-Gm-Message-State: AOJu0YzMp1UVEgi5kcdYGUJDB03GzeV6YoH7wfr0NZ2fooWmyjlNqk8T OPhWzIozVt94QYDTGenPVR1ch56Exj94OH9qQPh+Xki6aJ3PMhCDkURonUy2sjJ2GfVZPMBq8Nv u3yA3WDjp40CDbolYlGkPmoczMnUA2dA/LhnW3lNHE63n+XKv9RblcC5enjQANy5fBjo= X-Gm-Gg: ATEYQzzKCXbm5LD3MXZXsNRBJgZXudob1djAPCoDxjw3nuvgSHTHzHLqAhx/0SQUv8r o3vqrpfcoWGgcwzfo3CmbCUcFNgfMff4cvaM/Fi7aBS7YafdxqOPSciZ0c4gXMPTMgkM6r08/W7 XC0KdNDrvFJAc1RCSRZpT6dmqbS3VjKoV/Sl9S6f4AFdly9gYVMII2Nsl9/XxIis6W17AC5EAgV a2pVdV6IxH9r+QxXaQvV+wgY1SWPg8pBHSZ3GMXmXITolVLH44pRnMWAA/A/q20tGnIsOWBtaeq C1eWCsjv6f14e8s5tq62oO78t3KbwlY8yt6hsX4NwMjEm34fuHQmJ0ynTB54/JSD5p8lf7yzJKX 9h5YL9WSjn/Tp9VOXA/3dDuZRWW41gP1CT35UbdqcoDlpBfZQn/xWCA== X-Received: by 2002:a17:903:3846:b0:2ae:47c9:68aa with SMTP id d9443c01a7336-2aeae92a03dmr16644585ad.52.1773209365189; Tue, 10 Mar 2026 23:09:25 -0700 (PDT) X-Received: by 2002:a17:903:3846:b0:2ae:47c9:68aa with SMTP id d9443c01a7336-2aeae92a03dmr16644355ad.52.1773209364705; Tue, 10 Mar 2026 23:09:24 -0700 (PDT) Received: from hu-pkambar-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2aeae246fe5sm12433265ad.28.2026.03.10.23.09.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 23:09:24 -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, nitin.rawat@oss.qualcomm.com, Palash Kambar Subject: [PATCH v1 1/2] ufs: core: Configure only active lanes during link Date: Wed, 11 Mar 2026 11:39:11 +0530 Message-Id: <20260311060912.3139257-2-palash.kambar@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260311060912.3139257-1-palash.kambar@oss.qualcomm.com> References: <20260311060912.3139257-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: 1QjNbiP2qla0zdET_T_ZEAn35YKV65tZ X-Proofpoint-ORIG-GUID: 1QjNbiP2qla0zdET_T_ZEAn35YKV65tZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzExMDA1MCBTYWx0ZWRfX9KFkAa/GCdox Q/eqN9C/mXYpcg5wy3KaRz0ts4xochvdBzULf86b8sBpZCjC58AGfC6reywKMNGzlHGuV+qiDTE hF5wfQjsiRgvzYP6Va/UOUfsE/AJ8B6YETvQ+lMA9RnU/HBcQ24t426ncJ7ei1eKNp4bK1tZBEC Lwb5LIFxBrykdHUEnPYnflpb6STiY4xJv0J+F5qxFVmZxMcMiYDNXhLWTPLWa2rP1DwRDmz3lPa yRZUt9Fennti3OFbdW3PULQndGeXY5sd2gzvlzDFbO9iVjsFS8Q6yFyRrNbQ7EgFEfxrx5NkPjV WpNgb5sjj/VFmlW9NjqWElBTo0E9PfqbRFc5KezRUIFlv0fSoonIxnHg/JvJE8hpodZnbFB2tC/ /1mKmYrD3S3i5fInMkpJJrFv8ZsfUK6HZnU7fRlJZ7aE2qfbxHTz4O3oHgh4ZdzI9N3wof5ENMd uFwMiBpPYiuNwr7LbsQ== X-Authority-Analysis: v=2.4 cv=M4JA6iws c=1 sm=1 tr=0 ts=69b10716 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=Z8YMyZzXpU5RQDwMThsA:9 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-03-10_05,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 priorityscore=1501 adultscore=0 lowpriorityscore=0 phishscore=0 impostorscore=0 spamscore=0 suspectscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603110050 Content-Type: text/plain; charset="utf-8" From: Palash Kambar The number of active lanes detected during UFS link startup can be fewer than the lanes specified in the device tree. The current driver logic attempts to configure all lanes defined in the device tree, regardless of their actual availability. This mismatch may cause failures during power mode changes. Hence, add check to identify only the lanes that were successfully discovered during link startup, to warn on power mode change errors caused by mismatched lane counts. Signed-off-by: Palash Kambar --- drivers/ufs/core/ufshcd.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 31950fc51a4c..c956fab32932 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -5035,6 +5035,42 @@ void ufshcd_update_evt_hist(struct ufs_hba *hba, u32= id, u32 val) } EXPORT_SYMBOL_GPL(ufshcd_update_evt_hist); =20 +static int ufshcd_get_connected_tx_lanes(struct ufs_hba *hba, u32 *tx_lane= s) +{ + return ufshcd_dme_get(hba, + UIC_ARG_MIB(PA_CONNECTEDTXDATALANES), tx_lanes); +} + +static int ufshcd_get_connected_rx_lanes(struct ufs_hba *hba, u32 *rx_lane= s) +{ + return ufshcd_dme_get(hba, + UIC_ARG_MIB(PA_CONNECTEDRXDATALANES), rx_lanes); +} + +static void ufshcd_validate_link_params(struct ufs_hba *hba) +{ + int val =3D 0; + + if (ufshcd_get_connected_tx_lanes(hba, &val)) + return; + + if (val !=3D hba->lanes_per_direction) { + dev_err(hba->dev, "Tx lane mismatch [config,reported] [%d,%d]\n", + hba->lanes_per_direction, val); + return; + } + + val =3D 0; + + if (ufshcd_get_connected_rx_lanes(hba, &val)) + return; + + if (val !=3D hba->lanes_per_direction) { + dev_err(hba->dev, "Rx lane mismatch [config,reported] [%d,%d]\n", + hba->lanes_per_direction, val); + } +} + /** * ufshcd_link_startup - Initialize unipro link startup * @hba: per adapter instance @@ -5108,6 +5144,9 @@ static int ufshcd_link_startup(struct ufs_hba *hba) goto out; } =20 + /* Check successfully detected lanes */ + ufshcd_validate_link_params(hba); + /* Include any host controller configuration via UIC commands */ ret =3D ufshcd_vops_link_startup_notify(hba, POST_CHANGE); if (ret) --=20 2.34.1 From nobody Wed Apr 8 01:18:31 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 8411F35B127 for ; Wed, 11 Mar 2026 06:09: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=1773209374; cv=none; b=hsnnRqhFNTRWDrgzoexkLIEMPUvCnzj6qZXRxc/4clRrMsNmYymDIAzKxP42g21Ec8whuW13vHWfwgXT4iuOxyxdnooJB6aV+HYUWEUiv9Mmq+Ef8sndgK3gFbiAWVc2lZsz7AbSrR+I/K4FbIA78vg4dVHf36fb28fmHUMb4wg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773209374; c=relaxed/simple; bh=L22x1sAmNTPfVGmo45h6OxTwrRURMxryt2366AE58cQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VAKOQVbIoI8/UpHCtemXxbFQh0i7QdUuN+lioTTDHS+tak68mJBDU3Q7TIjb2hfwuC9LVjwWqk76shQDNilLLfRL5nlvk+natsrD9xkzV41rXIDnlfASD7ecWCpQT6qAew0DxvuHvQW0ipZ3aBxNaNN/afOgV/mSa42niwtvQ6o= 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=csoOCu7V; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i6nxrhIK; 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="csoOCu7V"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i6nxrhIK" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62B3VDrJ614061 for ; Wed, 11 Mar 2026 06:09:31 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=csoOCu7Vfb0N5E75cewFMiSAolf C9eHGWSZUiiuBMa9f9VA97Xb2UElA3G3Uv8tRbkv3yyOpnkkO6lj1x6KNUhldQDf vwbviMiMXfLSCgaqgIrgPcJ+Wq+hxbiCdBPY2LNHv1tRoogbJwApnePSJ1Bcueuw XJ+hQMn8Txb8ZvQzQLa/Zk1pxIy7iAFA1gNxax19JKdCFGbeDSVH9oEDgrMRf7R4 byzoF9VgnKw3iEQXqg9C16q7XkItqDrd2yoy7muIO9k7QZmCLHcSs31gI+S8FkkB jEmzFtDR+MxB2Y2Su6y3xdkSgj4OmYMipRSZiCBpVRV7PQ0B5machuSe6pA== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cu0jf0ed5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 11 Mar 2026 06:09:30 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2ae42659a39so615270455ad.1 for ; Tue, 10 Mar 2026 23:09:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773209370; x=1773814170; 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=i6nxrhIKVDtdrxwOaBtmUFITitHNmcufrcdyLKh+v1axW9V2D1bOWXXz+w1AEJM30g CFHzQYt9pcwBT6yuSx74C7CKjlT9DJ379+GdOPWqqSnxWDsRczJGzgBd94dlsrOL0i7T kBJZC3YiJMXStPxmOK8anFc858Uoz/eG6IHEJhy4xsZEggtho8a9M/81WVKaxkVW/O/r +MzwpXBg/pLUFwvSBwYYf8PKgTdymgS+76N4FQwHOFnjfGZjqzgb9J2ye3/TbXzaeaZ6 ulB3uYacA/KdH6dFye3BmAzb08OimUjXN/lL4AFj0onmaPM/EUWgpeijxW5TUkgr87SK Etjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773209370; x=1773814170; 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=k7ud6inzmgqrRX428NKm3r2+4RnkbG0IsJK9P/YKcido0Sk/QMAvTQRyTr6NoIOui6 +MwdSv/FGoVTZ2t/IE1vdr6U/TXIXEvqvtp/XfDGB+vD09MocF2JrvJY0U7CKwyU0auQ RipFBctVZymBIyOnV6q4WzcUdBlmxski8pHYmzAdqFIGHDle37Gzs3GXQXL80O1MsgKA IufzxV0Mk4svxEaXYw3rEtB8EW5obv7jZGrVW/R4SaTCyCl0C+3ex6EPhqPKDD5aPBXc RAJ8YpCd/z76bonfo1YXgvNDCvOUdhTmwLwtweLdcjiMqXQ266Z9uRIITKY41kEqf8I5 fOKQ== X-Forwarded-Encrypted: i=1; AJvYcCUno+ZGJLJ/mr6hbCaUfeuDyHRWyTmA7RwCDiws9M1ix4qPWe6jLT3E6lv6BzRwhBSUSF3ueKKeV2kJkx0=@vger.kernel.org X-Gm-Message-State: AOJu0YwjpRLISIMtxQmHfUSg8xB/u5jBiJ1JwyQm8bKicIGrEHphjZys 5TBUdfZGSlMu6MYhNE1Ziq166Y2N9tD47KHOuni/fRZRnap1CmaFhoO3XK98xurKVt3rxwQxUX4 5C3WqF6Q1VB7TVgue57FU7uxZldB3oCGjtpsUU+4NUd/m4fu3orygtCVlmFuNwPkxGT4= X-Gm-Gg: ATEYQzymyUsnOxYgdkwcqIH0kdB2yRd4o/UC+wshfxkxgdbT8t6yq7Z6hMSFk63kSpb adb/GyQPzNAADiZ5Ss3o7j+kGTrANjk/YWK+pbJ888xBx9Yq8j++QEckAaN7Lq6OOiJnx5fvgXU ocmp8sAndMaK99X2MZv3hfBOPUO0g6YlPkI9DYp6KsPdpMmJPKUJZo+bHwc7hrzqPE2ZAWAWYzH MKF/9h3SiSzrFuphg4L42+X43UvLHZf8sdInqC/RgC7gVreEoxFccYB1BAzcw+/WRTeJ8o327mN 3JL7Su3XzwKv2oXtrDYthWK33rx8/v7+TCl1w0MiIDwtX9QQKsr9qEinLJyF2vmDQdQnMEqBkQr 2kubkzQ+pBaePVb+cDfh3WjEoeV81OPQBUrWuRi0sJg0RTqOb7e6oHQ== X-Received: by 2002:a17:902:ea0c:b0:2ae:4732:2859 with SMTP id d9443c01a7336-2aeae769a08mr17354885ad.3.1773209370161; Tue, 10 Mar 2026 23:09:30 -0700 (PDT) X-Received: by 2002:a17:902:ea0c:b0:2ae:4732:2859 with SMTP id d9443c01a7336-2aeae769a08mr17354555ad.3.1773209369679; Tue, 10 Mar 2026 23:09:29 -0700 (PDT) Received: from hu-pkambar-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2aeae246fe5sm12433265ad.28.2026.03.10.23.09.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 23:09:29 -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, nitin.rawat@oss.qualcomm.com, Palash Kambar Subject: [PATCH v1 2/2] ufs: ufs-qcom: Enable Auto Hibern8 clock request support Date: Wed, 11 Mar 2026 11:39:12 +0530 Message-Id: <20260311060912.3139257-3-palash.kambar@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260311060912.3139257-1-palash.kambar@oss.qualcomm.com> References: <20260311060912.3139257-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: lHBkOGZn9mwJqCVSedJ8Fc1H5a_SSTg2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzExMDA1MCBTYWx0ZWRfXzZYgxBrmG74m Tj1OghK6foxs9ZQ4g0MXxLqBqHMeW2aR8y/XdshIZDNEre9nnXbhDm0TgmjueJFgMTpSYJjtVHu jlxAfhQIjpCw/fpq8aRheBChKcw98tsG8aABOZ7X5u68Pyd/F13Pm/C+7esDrmADovfkrRaccFH ZBBLH4ItM3aoUk/DiwgSi9YmCM4pO+IL4p/znx9zJDnYp6C2lBMFNlUL48o6d2CzYk++w3cyVMP XiW9tsA2o0CByh7gwl+Y0+CtucqkCgXzSoufQyrYfK4HmxXPI1wnzjLU1iTDL35ck2T1h2vcLv8 SXbWFOjYOK+nUamQlcYd8Qthl6Z47tcPZatr9Y4mcEbEyG10Zz0XLxapZWTAxaWxdRBMA5wfTYz B/2ngtXZgwnFB6DwaOk7IcIUxCwvtz4JK7lIVXuF4yKZzjbd0W+cOVOWu21Vc4mnJNHYEACa+Fl kYyygH1ZN2zJXsqbMnA== X-Authority-Analysis: v=2.4 cv=FMMWBuos c=1 sm=1 tr=0 ts=69b1071a cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=gce-7N_bzMkFAa6Kq10A:9 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: lHBkOGZn9mwJqCVSedJ8Fc1H5a_SSTg2 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-10_05,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 adultscore=0 clxscore=1011 impostorscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603110050 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