From nobody Wed Apr 8 02:50:56 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