From nobody Wed Jun 17 04:20:18 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 B3EE93BF67A for ; Wed, 22 Apr 2026 11:49:56 +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=1776858598; cv=none; b=gnS9KIgl6R3Z91HnmoANvkn0otSJinsh7uMO9kqh0tG9W00n4dH2szESoXyVYodlts7rCEc4PahSFo/0bVMJtbnT45zvuUwRBnveFfWsz0pFqOwiI9dR1qamPaKLgy3/ApOgYxH002NZrlfChUEdfz0CsWE+cVvo0P2HxJdz6fE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776858598; c=relaxed/simple; bh=R5g1AEpsUhkpB+vKfkU4doSkGb3/fFyv8wBJh7RYZgQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=diwOsdVln0Z51Qk5rB4E4aMDFG+C0bneYptPA5lbILVW4vZL10//kBkHtaubqsmGNNPx2ft3j2PVD1CZ8t5pKXC5toFog+11BHtDUOgz7NXbQ+Xidy5jwrWtVHaJNX7QrOaiGQVudK2ZkvLESnbimtZxkdiUDbYfmGdDzhWspNA= 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=poM3JtLe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=afPORNe6; 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="poM3JtLe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="afPORNe6" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63M992fW1442696 for ; Wed, 22 Apr 2026 11:49:55 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=HzJc5YwAYvE SGw264S07BfCAoWa2ckeWSsi2YS5Hpig=; b=poM3JtLeX2KDx6uo11rIiVHUvJs teANa9uGM2aVnGJE6aRhieFdAOAsQZY83YRl/tMQL39T9R+jBhh5h1lfi+W5wwS2 P38v7aFuKZR7zm9rujc5bWNGMl44KeCMh5qRIWwyF+PzjBge+k6sC2COEh/ozRBw d8JbFliQZk3CIeJkblC2UR48NJQiDdeilvw7bXTmKGDDfbrTQdbQPsqn8S/mfByQ tuOrGLxykbGfCEI1qLp0BhDawZOfZMpEDR2ZHkaduMdA18vGDm8HYU4zFr/ezUsz qwbH/P2o5tV6cROzWrJJoLu/dPHIvcLAE/+3pH4vg0yC19nDbKkvVaRvw1g== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dpenfu4fv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Apr 2026 11:49:55 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2b458add85aso54237865ad.2 for ; Wed, 22 Apr 2026 04:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776858595; x=1777463395; 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=HzJc5YwAYvESGw264S07BfCAoWa2ckeWSsi2YS5Hpig=; b=afPORNe6XXyVSb9cCNBuHv1AF5fX7/IRM+J4fg4xJh9pX9wfeAPjD807gX6gAGCqw9 VJgSDyIM1U5mhmtFNcQIpfjzN7GJqumYsi78F1kmCO/FC8HBG66pvmr4Xjk65YOg0CWq Q4s81SpnWQLNDZxNd57uzK5aZ8bztVx8PmTeEnkq+q2wU5EEmlY4gtEpT816Epzvs+Sw 65JRpjJKitBsVIYAIxvofwnltMwppd38KyiLPWUVEV3YRlyH7VfhefRmirH+X6lkdXGq 2E1nfzeA2VCObmiunBPUWTMvbGwYt9t8NKq0C3uT1S3V3F7DVv2++kqNGVYjWF+3Z8fS cWug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776858595; x=1777463395; 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=HzJc5YwAYvESGw264S07BfCAoWa2ckeWSsi2YS5Hpig=; b=Bw66/8wqQnp2eMuON6wyXYR9cH/TiWB3LrFGr4xVZPhnjb+5ESaqAxN6aun6jzAo+z Folbg1NaVerwPYGQJE2eM8gxye/1Shy1hwo7cs6I3dT0z63ru3VGqD/9JbY2UXpBI6UV q4MsVX5p5fA5qTt6mDGgCJ1FVG5cnzqtbpJ479iCbPr2Hcp0X4xD+j+Qt+U1C8hKlGoL ok7ob9MBe7Px0u1yBM78i+0jX9+hTPiviLaFncb/WM/sMcYwDML4t+PbGfxWpHVuPJaW yfu6JF2drwc/W0eU+cgpXmVoHQvcbvcxJ5k8IgVsXqw2PlYlw5wJdl8kVQHfmhDojpwg Uepw== X-Forwarded-Encrypted: i=1; AFNElJ/On2dtLLjh/86PuAlXg3slbWJBMwhIoaIANL4uehTpAmAW7IxW2VpT/+Rz7TbUmK2xkhHgFesma5uS134=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2UuqR27bIs0umQQ+/TUwi3HDCMjjWtyRtqWP4A+g05B8CS3Ol dpNjp79u/N6E0l/T8yRLSDhFYquNXe//yD7ZlGrJH99BAMDipY5StSy8sDMz4RzSZcFZo3Yz+uC 1k9rIwOQ+Ca3lAQIq5AYYpW/nVeAa78ybD0/AZTax1Cla645LZ5cdlVZmeO0SXNXzH5U= X-Gm-Gg: AeBDieuJp/p2f06112buyU6GSBPmhyWQzDxBy0CS/GTRYJwgmUdhVBah6E+8IKE1u20 /DRkiwQU+bKFZ3fBLQtGxI2CImfdtdEqj9KH0zilqi9ZyZ5Pg4a+g1iohiikxMYOzw0MNfGKT6j TjzcrBFuUMD5zEuGYc8OkQKXiFjf0U+5Qbefsr4kOy9GgbqFXYwbzf7CX2WZX92y1yrIlCOIiYv 0xiwSya3GWRDD17OecPpEFF/PjeLRpbshzyg9bOcoBQlhY6TqcbHeR0S1xMIrEpK8LGMEyGugrM nIC8HObI5p7TrU7PcP4Na1VY4smGQhPkLLlCBhe3S4CwQ17xY6tHPCpS8WkXh4SCdtPfRi7jxyS HUmyb2Csn+7J+dWVXOVG4jAYV+KTU23HcgOlyDyN5Pi2buz3zZnpWOUsxDsmtSgTF X-Received: by 2002:a17:902:d50b:b0:2b4:6470:760d with SMTP id d9443c01a7336-2b5f9e8e436mr230479205ad.14.1776858594505; Wed, 22 Apr 2026 04:49:54 -0700 (PDT) X-Received: by 2002:a17:902:d50b:b0:2b4:6470:760d with SMTP id d9443c01a7336-2b5f9e8e436mr230478865ad.14.1776858594022; Wed, 22 Apr 2026 04:49:54 -0700 (PDT) Received: from hu-pkambar-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5faa34ea7sm163047125ad.34.2026.04.22.04.49.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 04:49:53 -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, shawn.lin@rock-chips.com, bvanassche@acm.org, nitin.rawat@oss.qualcomm.com, Palash Kambar Subject: [PATCH V5 1/2] ufs: core: Configure only active lanes during link Date: Wed, 22 Apr 2026 17:19:38 +0530 Message-Id: <20260422114939.2901925-2-palash.kambar@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260422114939.2901925-1-palash.kambar@oss.qualcomm.com> References: <20260422114939.2901925-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: gXz_hvlBbsWsxcMRxIm256-5VkFgt0V5 X-Authority-Analysis: v=2.4 cv=YJuvDxGx c=1 sm=1 tr=0 ts=69e8b5e3 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=Z8YMyZzXpU5RQDwMThsA:9 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDIyMDExMyBTYWx0ZWRfXwDSMovL6Qf3+ YoPX0Qux7hw02Xs7PVWdUAgfi5d6CG1WZFFjYc/sm41cPPon6+9RlAQddFc492KC7BrUaiyLbuM ba3Dn+nETRJMbUyyUSGiT4AB9Z6BO7HFlGwAkIJZWfPJN2Elqjfrnr5+g7ySgqu9lE+Sf84jF7s Bsfp4We3CEdHpNBq7uZnq2jQsHrskpP0hZIYOu99OSNbOxmZTOAJgFLkiARneF4Fgwhm+383ep1 pDMYzxR6JmH+N9PyxkD08mLU0wmir2Hk576DsZOWPkykkdJeG1CFxgRYkhgiqNxA0hUC5jpwiUU 7UARYgo1glt1v6NIhaYBEjoQu5Mf2RiiZACiNLgc+FfIsNuPmJquOQYdFLtx9lfMoVxW2EpuTsT alO02TEsOPA2NqnBQ8QDnguFBlq+RUw6AGB8cut4f3uZZX6o1C7FBROiHVpQeSmd7zrsMnsjdyf 0zP3raVKr/W0P9Ar0qQ== X-Proofpoint-ORIG-GUID: gXz_hvlBbsWsxcMRxIm256-5VkFgt0V5 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-22_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604220113 Content-Type: text/plain; charset="utf-8" From: Palash Kambar The number of connected 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 a check during link startup to ensure that only the lanes actually discovered are considered valid. If a mismatch is detected, fail the initialization early, preventing the driver from entering an unsupported configuration that could cause power mode transition failures. Signed-off-by: Palash Kambar --- drivers/ufs/core/ufshcd.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 31950fc51a4c..fe5bc85c6870 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -5035,6 +5035,37 @@ void ufshcd_update_evt_hist(struct ufs_hba *hba, u32= id, u32 val) } EXPORT_SYMBOL_GPL(ufshcd_update_evt_hist); =20 +static int ufshcd_validate_link_params(struct ufs_hba *hba) +{ + int ret, val; + + ret =3D ufshcd_dme_get(hba, UIC_ARG_MIB(PA_CONNECTEDTXDATALANES), + &val); + if (ret) + return ret; + + if (val !=3D hba->lanes_per_direction) { + dev_err(hba->dev, "Tx lane mismatch [config,reported] [%d,%d]\n", + hba->lanes_per_direction, val); + ret =3D -ENOLINK; + return ret; + } + + ret =3D ufshcd_dme_get(hba, UIC_ARG_MIB(PA_CONNECTEDRXDATALANES), + &val); + if (ret) + return ret; + + if (val !=3D hba->lanes_per_direction) { + dev_err(hba->dev, "Rx lane mismatch [config,reported] [%d,%d]\n", + hba->lanes_per_direction, val); + ret =3D -ENOLINK; + return ret; + } + + return 0; +} + /** * ufshcd_link_startup - Initialize unipro link startup * @hba: per adapter instance @@ -5108,6 +5139,10 @@ static int ufshcd_link_startup(struct ufs_hba *hba) goto out; } =20 + ret =3D ufshcd_validate_link_params(hba); + if (ret) + goto out; + /* 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 Jun 17 04:20:18 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 510CC33E346 for ; Wed, 22 Apr 2026 11:50:02 +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=1776858603; cv=none; b=A3O6LjglagyLGTnhacSA0b8Ue/I/9RtJDT2loSvJhWDgzk9IAAXq1Mx9AW5E6k0+T4fbKGZb3gYPFT+Rs30cVbcspClfpdSy7h8TuXncmuWxz+vkjGhIncnynYYFyGZDNqYYHYTLTvUSTJWPXJ92nkEuuD8F36lboqgCg/XwRTw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776858603; c=relaxed/simple; bh=93ZtNV79vuouAa8eL2edT1/Lmp8ZOeyQQhyPpBYjjwU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UuMNtoT5NLHC9+6AOV8yNCor0ssYkGNCaXVdQO45febi7zomqKp3ooxfub9opDelVlN830e0FYklKGEW+N51nx/KQdRsPhIVQh0vw6yQCyMY70j/hjfJOJRFMh9WQQHHL5nglCtIvoCZXqmhp4uqbtxLwRuLv5KyiehdHAuLXm4= 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=e5oqQTvP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DXODdqxb; 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="e5oqQTvP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DXODdqxb" 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 63M98KxC1080558 for ; Wed, 22 Apr 2026 11:50:01 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=e5oqQTvPFLcTI/mhg3CPLHqlBNV LplqfeDS4XuKJNeg7SP/ndEqo4PbJIUdSnhW764QCT9WzPBKRyUsAdxxpxVaz5BJ 97UhPOmt3BxYSdMPIZNC/gcZRhKvmLNqjq1RdBS6K8EH6ZDnnAKWysP3fmX6vOW8 AgmnjDfA1VR5UIgJnpvxZF5bLauee3AH8DQSx2/chRJpHucpvDlbBT+hf6QhU4AQ OeGuBBGV7noj6aUbRxEjnirCPwVo3rmDl0V2fYMK9zt+otpSK6WWtUTYK2rNm9uQ TqSuVccYEwxz7Z8qbyEURLU4tNZN74at868lDXT5bj81KRDzbBAhs6Yns6w== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dpeng38r5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Apr 2026 11:50:01 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b249975139so99544645ad.0 for ; Wed, 22 Apr 2026 04:50:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776858600; x=1777463400; 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=DXODdqxbmzEScpyUkj0UYlGYL3LvAN+ngSXDRy9QmrPSXFmWEnz5hBaS4NYY4Fq8qz hsvPNctzCUSWFcXlsBIxN5zTTdL18fIfo+4AhvpkXzx+EJ2KfGnLuT302YJDHdtSZuDZ l2Cp+RE3sVtkRvENJ1+9oF+FaWQPWTJU2UTlm+mBcdjLszGtUCUTwkfN0X5wJEXNylsF NyMzj3bMfxQCJ5xUq06VItlZB0Y1YhdU0XK0Y+MhI38pLGT1p3hAK+IrCZEFSVOplj4q MMau4TZnc9Up4D+18Q841jfumtCtilw3Fk+Bupq7s+vhPxjXve7ePlqpy3H3nAwmxS1R 7BZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776858600; x=1777463400; 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=HUziMNec2wNGPkgCGGVvLmlZcpO4hQ68fI01iKhCt7WIipdSrApNlz19j7GSLBp+/R hud70Xmfb37vmzpKsoEP68JIFdKtoaauIOIviHz8O3RinwkZNq/IgaDFqVDypl8f4Ccy l7R2f36RIin5ec69pmVDFn+rqAO+FOMwfMu9O5AU79Zk4vRsCeagwDiap/HbF0RjouNm 5Gc729bk0C56Qj6aVgIC1IDE6bnMpdtqWpI1dt41qspbbf5Vyp5cTIivJ6jHobTlxzq5 qZfxoTXzdUJOJYv728Qjfhkso0Y/9zkvNMcNYFmEglrNRjV0gFatZNSCrHuzkn98d7P1 efBQ== X-Forwarded-Encrypted: i=1; AFNElJ/7MXm2TXlRtiuoDKoesfoqHNe5AYtAo7wjWWihPlNwOtDSpeLSiMhqi3WGKKcZkRjaYdJiw8bNLbDJTyk=@vger.kernel.org X-Gm-Message-State: AOJu0Yzg0GWkikZKuBJFfuM3FgzijVCxD8MEdBCVDiZbY4hPNIz85bDf rQ206bOWHNZShvEQIUg9BIw3Hebt0D8lB3GAy8Ldhz7qSQ7RCT8dI5B+SgYpei3ilOXiAaydhRj ip8A3S56kb9/cdNI7wM3I1NKRf83A7crwSCXuX8QdREKQ0hUNyDIharrISzw53OJ+RqE= X-Gm-Gg: AeBDievSIUH02uQAavnD+rGINStujQSUyEWHRwP4al06zxWo02ggYjIuwTjCpuLioDz OCssBzGHddwiwcqHRiiGTjyDGGNvmETh5fBZK9Sfhn2wlKGkmRpbTMN8KYHaN5UiNM7PmVvqoPm dMJFCWXwNrpHVkZKbJKeqWpFzbJ65XAjcsnuOQIVdcXFp/QIdt1VXc8NWbHvtrCRaGUl0iRYlH3 ZqNE0zCy7AwDOyRBVchxKr37ImJNiyPcWPv1HUjidZ5FofG51d+MfFZuUEOXB8iBpIaGufx+EE9 IBnf74Kf8QlPSWhhtJ1Fy+1Hztaa5/5IzF3AGnISYnc4IkGsRaVil1csjTSCpwMPwxIL+TZjO/3 DrdW24/AuGcgd4RrQ7TDrfkDxJbLkTXF7daN1hwIDOrNJsR7WCFdtmVawklwzqLqv X-Received: by 2002:a17:903:1cb:b0:2b4:5dad:2523 with SMTP id d9443c01a7336-2b5fa003d32mr238398255ad.35.1776858600068; Wed, 22 Apr 2026 04:50:00 -0700 (PDT) X-Received: by 2002:a17:903:1cb:b0:2b4:5dad:2523 with SMTP id d9443c01a7336-2b5fa003d32mr238397925ad.35.1776858599606; Wed, 22 Apr 2026 04:49:59 -0700 (PDT) Received: from hu-pkambar-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5faa34ea7sm163047125ad.34.2026.04.22.04.49.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 04:49:58 -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, shawn.lin@rock-chips.com, bvanassche@acm.org, nitin.rawat@oss.qualcomm.com, Palash Kambar Subject: [PATCH V5 2/2] ufs: ufs-qcom: Enable Auto Hibern8 clock request support Date: Wed, 22 Apr 2026 17:19:39 +0530 Message-Id: <20260422114939.2901925-3-palash.kambar@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260422114939.2901925-1-palash.kambar@oss.qualcomm.com> References: <20260422114939.2901925-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-Authority-Analysis: v=2.4 cv=CNUamxrD c=1 sm=1 tr=0 ts=69e8b5e9 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=gce-7N_bzMkFAa6Kq10A:9 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: 6yQlx1M60KmO2ohR-WwXGOvaJvDb4X-w X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDIyMDExMyBTYWx0ZWRfX+VfymBMrjczl V7t6ZypjiZwVWy531e1u/YfRYjLVFcoyRBkCGfazByO1ygaSfaGbkvdYels/H5F+SjDBN9AO6YS a/nkxQf4Xn4moin++1v+lys3Z0a8iWcmvGMHPmFWNX1rkNqMPQqaEGMNpg1H7MYaCvzLUnbTvuo LQrRp7BoO7pxFuIzPJblQsz1snCmLS+8oMt0JMIqqGb6XrXTAyLQCuf+qBXhM4gYHJzRq5Ry6mw T2yaWD/tNnU9eKX7xSfThNlt9HVt9Jv31L4Tfc6TkVOEoAdXl5WyaREtcVkJlRUcPIGTlEknoUu v/5n2WizKwIqH+d9Gpxawmg0e0f1JiG9fu3GiU6O6J5k2aoi5vEP89TbDj057f9/cAmZ2vrPH5e cj6CtrcR+5K7AtyPm4yemXIxIQc+7sUyPyI8bhSJ25d+yCTjBdXcpNyuxXazEcnoDGXynqtn3G/ 6LLA5NS1snwCZmWnG2Q== X-Proofpoint-ORIG-GUID: 6yQlx1M60KmO2ohR-WwXGOvaJvDb4X-w 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-22_01,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 bulkscore=0 suspectscore=0 clxscore=1015 spamscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604220113 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 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, 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 +715,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