From nobody Mon Feb 9 12:24:47 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 8EC0630F93A for ; Wed, 31 Dec 2025 04:56:34 +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=1767156996; cv=none; b=lSrOYiChcoVcfNx7VMIM3BJ+ek/C05EOg8CJqBY4VKyE2T+llIeURrC7dmdqu3SHpXf8KoqtQXtV0tALCN/AUw5tyI/RiB7RM++PiVr3bW7IYmkFGJPkocQKEkjGpZgrRN/KlPEC/NUZwYekO44bEncHAzfz/K/LJCpoZLb5Rjk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767156996; c=relaxed/simple; bh=XWp7COkoR50DXLNvgSau8lqHHHIoHPVakl6H9Mli0uU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YDRXUP992XCCMm4Eg+2tv+QuKo7RJJs7CdXlt3A1Iyo+iiDty5JCexzG7EjL3H4OsitDrXHBxeiLzpuj3GJe0+VaG73QJWDnhTqG0jI89WvxA3XhTUrDBEquiSRL20pAeWdOQd6NSSHHmka8oIo8VikrrrgKmx2flx/yrHD14rg= 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=kLe6889n; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Fmmsngzl; 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="kLe6889n"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Fmmsngzl" 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 5BUE97xj3555938 for ; Wed, 31 Dec 2025 04:56:33 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=hik6Yv4/FlA PL1T4IYbHNIfPpAtv/lW1BzmwFMKCUek=; b=kLe6889nRDFpBx0NiBBSouL43yL U/CkLbQ+F8EaoECTBlWcedwmQxazL7CJ6hQAWjWRxgoyiVsGnQp09s/DCGWRYkJm N+2WWV9uUa/ZIxtBVpkOhgsIktd6qI+rmzTbCSaeXNez+LnrQfO6KUxVeuwHM9nD sveFkbHoQXyaBptMqvCb14GMdPyu33AxMTBUuH3mFKYzNxV+vUcLUVO8VHCqnag5 6z/hm+Ev/vPo6NcK9ndUrgLM04n86kPljKTjz1/VUQFTBSEsY+PUrCq6T8VX3PE1 N+7EbF8HCMAG2jtXzzMEurWo6cEMSV8AKgHDHClD23qdcqx0lvWZzHqI5Uw== 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 4bc7462vh2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 31 Dec 2025 04:56:33 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-34e70e2e363so23168816a91.1 for ; Tue, 30 Dec 2025 20:56:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767156990; x=1767761790; 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=hik6Yv4/FlAPL1T4IYbHNIfPpAtv/lW1BzmwFMKCUek=; b=FmmsngzlDv4oJcXkdRv7itLj8SrL+qIhxpc16dxOjGCRgEG6BVaiX6Ucu+8HfaQm/t mcv0/RxIXq6SrPeX1kiL+vo+xEe6naNf14m1x1MiUhEjZZureEvwN8+pp7vEelfyEVQN a+LqLvOoQfCoO3ryTNRto2v0n6zck6H4WmTiSIFetZU2D7EwDq6KgAJlzJug6U1cuy6u 9bv6qEPgTXTewmOWs587rhbsAp0xnVkO/CRhCB8D7lw6Q4SZr/MFeZFXHBZnW5ROR3jk nn2fLRrFCScVo6OuTw/3L9BLdRgZtZYPY5EeZ2XrkueMj1zFzwl4S83Ypu42orsZFB9S LtXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767156990; x=1767761790; 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=hik6Yv4/FlAPL1T4IYbHNIfPpAtv/lW1BzmwFMKCUek=; b=t40q0+C3SWTsgNmuwKCvEiTDOH61dXQa+CblgGStPcoQRG7Sd1zLsLwxkVSka0CLIG gdiktmdaOdc/00CORO5we8+KfGm3CAwLoLXZS1YWXS7ef7hJIqUais9DdN86U+NEeAfW E0hTskw2v2h+XEDjZDWg+kkxAvj8An700aKVQvDopAWqH5BUnndXh8YIJY6qfCPB4GJL E7BiQL6cUb0f9boemmH8aI+oEt5D2xspqbwSLZ5B2pcdzaO4dCYj8EoeUse7mtbYh+Q8 7KlOR/D54dNbYVTG7+fzkmucxfVHRsZiWvmnk6v2zFsPibFzu22fQxtB4tJtPi4yAXZY y/3w== X-Forwarded-Encrypted: i=1; AJvYcCU5ckESnpmRuCgytwonw7MHwqgjo64SpD/9o6+WLJ0D8iKbXWczwcYCITsHY7tniFsWZANzkEj48P8Goew=@vger.kernel.org X-Gm-Message-State: AOJu0YzccTx38jqDORf1K/Kn6pqyeN0NvZQ21tQ/ZT2UlMYDeSdR7wWH a4doRCXqVOn44sZYjZB/GWL9/MPU8ALOADm0cjuNzUaxREMjO8UsnMaQWARhJ8T+U2hqe5qfiYR 3NlO5SIY51faGgKSGZP83WIoHDgSdqVhG5VhlNNViXu14az591DB8da7pfZyazt9Mxok= X-Gm-Gg: AY/fxX7T1YZ7drmw6rglMBA4wbW/PKuBAFv8oq9HriqwOlf+kLlK/K0paXG5AxwsEkF CP8YLvEgr8vIKcg9j4IaxlEWmOD9Rr3wjkqZgTZ1ce/F4o/nYftkUWd6BOLh2PMLyz/JZBs09UD BI8I4kmdU2OUMkERroyk3Z1yejhK4G7qOzmgIb9LXapUlcqCXMx6ns9PaHjj012mjl3vaYR/Z3Y KWqZ9rLKQrpmnm5WNhJnNrhfEohvaYnpcybMCqSPoLV2ZuSWe+Wu9S3zZnZ2QqHGCxbW/AN4flB isyzb46ET2a1fcwg+lQ5dgSfUwGFpbxHsN6iQzKUSL1pbAfbWNBKgsHMU5hdS9wKHoqCRske+nZ w1v9VcPUltdB3HGT8I/a76aLhVIv9xBG9z43w8x3Q X-Received: by 2002:a17:90b:4d90:b0:34a:e9b:26b1 with SMTP id 98e67ed59e1d1-34e921d0a61mr30320789a91.26.1767156990350; Tue, 30 Dec 2025 20:56:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IEAmbtw/5/ayDFahPPH4jioa1oTKC6l4u/GuyMepxqzmSJeoizBhSiIQJ9Q9qSSuJuq9LX3zA== X-Received: by 2002:a17:90b:4d90:b0:34a:e9b:26b1 with SMTP id 98e67ed59e1d1-34e921d0a61mr30320764a91.26.1767156989895; Tue, 30 Dec 2025 20:56:29 -0800 (PST) Received: from hu-rdwivedi-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34e70d4f7d3sm34547697a91.4.2025.12.30.20.56.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 20:56:29 -0800 (PST) From: Ram Kumar Dwivedi To: mani@kernel.org, alim.akhtar@samsung.com, avri.altman@wdc.com, bvanassche@acm.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, ram.dwivedi@oss.qualcomm.com, anjana.hari@oss.qualcomm.com Cc: linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 3/4] scsi: ufs: core Enforce minimum pm level for sysfs configuration Date: Wed, 31 Dec 2025 10:25:52 +0530 Message-Id: <20251231045553.622611-4-ram.dwivedi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251231045553.622611-1-ram.dwivedi@oss.qualcomm.com> References: <20251231045553.622611-1-ram.dwivedi@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=Do9bOW/+ c=1 sm=1 tr=0 ts=6954ad01 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=_fLkURk_aflrY1IPiHIA:9 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: zSYqO9RoarX7WKPQjdVxVjjuxzeKQQ65 X-Proofpoint-ORIG-GUID: zSYqO9RoarX7WKPQjdVxVjjuxzeKQQ65 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMxMDAzOSBTYWx0ZWRfX+xfl7DmP8vd0 eDjls9B9uobr1L/bIubBsu2zQK5fssFGv3WS/rD02YG5UPmGzjeoCftBGnNpcMmkcMEXAIhMoLK dlX/o5XDttdlE8bfl5MmlN6aAEAEvn4f94LdSzho8aNXpgAy0gKFhr/Il7F0312oL+ewzP3zmm6 atg0Dg/uhB1xS2cHF12TAwA/hOAcdVJ1454CLVMxA2MIRx4lGcYH7YaP+uboY1dyTcQMPa2ZCNd u0MiRhLr2L/3FTDd45OmVham5nHGdze/aTrv73t6atCdfCdwIu28Brq+pWhgMerzU7IhZSNHXSF bVzHy7XtpepmTOwKU7c3cSzXnoiSkAC76thexlMZIvDsE1qZ4ACb04I1yLstv8hukpplT1bP605 XXDxQcFh2TdvwCi/kiE+Wm7k2K6KPxFymHSzA8eCXTcAwGd9RSMW6ZnjS3UUpA3P9g9S2tVeSDn QWztfK86wS5wqHT79gQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-31_01,2025-12-31_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 bulkscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512310039 Content-Type: text/plain; charset="utf-8" Some UFS platforms only support a limited subset of power levels. Currently, the sysfs interface allows users to set any pm level without validating the minimum supported value. If an unsupported level is selected, suspend may fail. Introduce an pm_lvl_min field in the ufs_hba structure and use it to clamp the pm level requested via sysfs so that only supported levels are accepted. Platforms that require a minimum pm level can set this field during probe. Signed-off-by: Ram Kumar Dwivedi --- drivers/ufs/core/ufs-sysfs.c | 2 +- include/ufs/ufshcd.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/ufs/core/ufs-sysfs.c b/drivers/ufs/core/ufs-sysfs.c index b33f8656edb5..02e5468ad49d 100644 --- a/drivers/ufs/core/ufs-sysfs.c +++ b/drivers/ufs/core/ufs-sysfs.c @@ -141,7 +141,7 @@ static inline ssize_t ufs_sysfs_pm_lvl_store(struct dev= ice *dev, if (kstrtoul(buf, 0, &value)) return -EINVAL; =20 - if (value >=3D UFS_PM_LVL_MAX) + if (value >=3D UFS_PM_LVL_MAX || value < hba->pm_lvl_min) return -EINVAL; =20 if (ufs_pm_lvl_states[value].dev_state =3D=3D UFS_DEEPSLEEP_PWR_MODE && diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h index 19154228780b..ac8697a7355b 100644 --- a/include/ufs/ufshcd.h +++ b/include/ufs/ufshcd.h @@ -972,6 +972,7 @@ struct ufs_hba { enum ufs_pm_level rpm_lvl; /* Desired UFS power management level during system PM */ enum ufs_pm_level spm_lvl; + enum ufs_pm_level pm_lvl_min; int pm_op_in_progress; =20 /* Auto-Hibernate Idle Timer register value */ --=20 2.34.1