From nobody Mon Feb 9 05:41:48 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 13C2E339858 for ; Tue, 6 Jan 2026 13:40:39 +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=1767706847; cv=none; b=OmXB6f57RBGmLIxmRe4Ube42Dc5YhFY257ocJUS5OnOAJ5CZF1g0uSp7DHTxhHtG8cxMiOUVb2MooF+E6+eFaniaa+rZUQi1HvtdDR++B4cFYrRQntQF3/g4RXNxpmV4ADQOq6GncQmKB/QyqN77YkQzE+p660mhM8EC7lT4JOw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767706847; c=relaxed/simple; bh=XWp7COkoR50DXLNvgSau8lqHHHIoHPVakl6H9Mli0uU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Jr084FcRTPijg9BV4zobF/26BVYkswNimmH4XFBTrPq1x9NEyj9WSaRrrTjge6Yk04neZI+1JHg4gy8KpJ2V2l1SU0Nc0ONZntRRXi2JqKfFYGoxnfjP/x6f95aMBTbU5fg+AokrKgn9tD3wYobg+lRb3P/kwaUSCHaPwpEbVfc= 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=TYFsNJUz; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=e2n3R8KH; 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="TYFsNJUz"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="e2n3R8KH" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 606B3cMU3213733 for ; Tue, 6 Jan 2026 13:40:36 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=TYFsNJUzgt7+Gp1KgJ2K60BG/a+ g+4g5J5qMs7P88EoYzi1uR47oKPKSG78b5TROGjv/MGNYXwuJHq7yd2xY2dLDqSF xD6oFoWu0AqjUMmnEKNZLPySyqM1jcIzbPLDAQQT4swWSnYPzoFuXhGzNTBCWyQ3 hKFP4FgvO0Ds3YyhH+Ipcyqbw3savvHrsDxJaSI2d48hipa8OlNZNo1O9/2QzF6v B+oy9lhxiAmngUgFWTeW59RoGeAr7s/DcxJyVx9aQPYSlEp55zndAN64kah7a5jG YOvInn+qLKw7wsQCG24jceFolrESqWzQ7Sn1ptv4zHjBIZ5Lo/Gsm+lOTCA== 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 4bgpnda7hc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 06 Jan 2026 13:40:36 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-29f25e494c2so11141765ad.0 for ; Tue, 06 Jan 2026 05:40:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767706834; x=1768311634; 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=e2n3R8KHT4kFQP4UPjFDu6EtY4+vEqpEV/jkwtL+ocU9NgIwdCGZuHjIaAy89AK6uM GYyJ58unPkSNnG8CJIwd7HFqIOs05+OthM3bCGp+Or4t3nA57zUFWzu+5OtaLvNTf15y lv2daZerYkEBqBxI2UChcvQ5hUXVQrKdnNlkaon1hFTJTPKwEdSM8Z3ad+y2/zAO8Vai WLg63t/ZasqH5Eez7J+xsV0t9u5bn6ZJUlLb55Id0yPLY/gnVH0vgTrOSJQJiYn0v73E N7jTSxUGwjHvHgu0oWF90dgzwrHW30lzn8sTSBvLKiUWdDDqkyeEdtKEXW0MjCJ3RnxX 4eDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767706834; x=1768311634; 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=MQX8/ryHuGpRbQNsHi0E8zVga6R23JHf3s7rATC8Nps+w/Wsz1mrqXk/IS2kA0noFa tRBCamPZJEjfFc8Gp+AD70ItJ2OSlS8/nK8RKCswhqRDq/H0RppRrsENZ4cvTESENpzk B9AH4boYaKH7AjgEZS2nix9Vu3C3SCfKK40qExLnG8FKsPXFzw83W92VSXClFSDiYrxN 8Pq9WpUvPEyhSgCWAE5iYbhYkCmKfZZgtX8Ja5RT95N5hBLlqAkQgI24g7U7MqtiyhEL qcg8se1dt80ouCcqGlXdgW/mX6IdYwGSSCW7Zu7ewpM6TmSBEa5xYW09Gsc3JGYvoLrW r89A== X-Forwarded-Encrypted: i=1; AJvYcCVD1vlPPQp72R2wFW+KeTLHoSf9NXDbPp+JtGzMJCmd3RndeUz/6NDQIR04rypdnmWpv8pQmbPf79HOvEU=@vger.kernel.org X-Gm-Message-State: AOJu0YzZbhV11M+kaSyRVwAP/z1h527Z2uRacA0UC/m3BTFwWsxzuEc8 0c/1KhaW4nPTgg7Mqiem2kOZ5WUlCVQKOg9X7ZDgwHGe8tNyTq61nzJdgIGyBlpSJVeYsfqcdrB rT+CFadHdEoqbEi1AVqGgmGmmkRE9bdgvSREC4tctFKtihUs7U1Hl9Svn2NGyICyr6dA= X-Gm-Gg: AY/fxX4sILjSvPkySjjqcdciMuzlr+t2zR3lblvBwU7na5Dvsl72o9Rtda2UvYBcY+F rXuw6n4XeAFU7SiJEtnQRl6ypuG6vufKENMQjEUnk4w3E3O3T/Ewfi41s2ciWh5tFMKOR3l/Xn9 utcbgCGFgpVSCXmCNCzvIpx9y2gKm66EbIJ+mPJHrt3Rz7i4T7ZUCRgvOT3+vldut1MXQnBflvW EA6cSKUd9XFMoXoKz5Fu18OssIAqlO2GTR7dMLAZUCHLT9FO1BLz7i89xmd3ucTNkbpy/Rsi7lg VCNwUndy9S4oUk8t7nLVL90cdMck+3r09c+O62pvV7U9RhgQaUQyFVuZTBdrYYmje33scZnCNvh JtIFPIw7PYUxyE8g3CEe1P1XCFxFeBgksje5s6iVN X-Received: by 2002:a17:902:c94c:b0:2a2:b620:12d9 with SMTP id d9443c01a7336-2a3e398e82emr28538475ad.5.1767706834200; Tue, 06 Jan 2026 05:40:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IHPXXNLeunS2BjceJQzS81yF1SGalnzfMf0xuwsb9X9HO5mpbz/Mj589G/FmMugANxNfE+/9w== X-Received: by 2002:a17:902:c94c:b0:2a2:b620:12d9 with SMTP id d9443c01a7336-2a3e398e82emr28538275ad.5.1767706833732; Tue, 06 Jan 2026 05:40:33 -0800 (PST) Received: from hu-rdwivedi-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc7856sm24112515ad.68.2026.01.06.05.40.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jan 2026 05:40:33 -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 Cc: linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH V4 3/4] scsi: ufs: core Enforce minimum pm level for sysfs configuration Date: Tue, 6 Jan 2026 19:10:07 +0530 Message-Id: <20260106134008.1969090-4-ram.dwivedi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260106134008.1969090-1-ram.dwivedi@oss.qualcomm.com> References: <20260106134008.1969090-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-Proofpoint-ORIG-GUID: 9-hxgIRaLs_kSxkZbgACHG8asGrPTAUL X-Proofpoint-GUID: 9-hxgIRaLs_kSxkZbgACHG8asGrPTAUL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA2MDExOSBTYWx0ZWRfX/oaMQg9D2rJH 4HPoW9ZbpbEIljiq9V1Uvm80mJRL/neuuPa4odo90U+b3wLrQWZkyg5JJp3H3ZSLoE4RUHFsVG5 f/KjbwKL8I16yeAiB0tQtQRk9enbYU9po6E3aWJ+2WzPgYNuxqNGBthchgdStC1nBLYxPkxy10p eeIOZgfCa50dnRD7A2F1FUYdEWyJxVXEAM9o50FNKSiwZGJYgGlTBbwQWhcXaj7+bqt302J/VLb t8G8gvYIgjGqE7R08DB2jcz3WKYO1vSRLzojQ7lRay/9QAR7u2TzBvuYN9LtYQVVFT3HT6s2h0Z G49V5cApJUNr7vV+faQC7dh1jXnll3ALAGCOrRpmaliI+vev84S6XPIofqMYSefq9BAB5i8/Jfx ebbwwLuuS1JjeHfIjQ7GVHPmsowSEvbiKy5OWucLYLPC/xOWa9sKltb3M3r0AcTPerjjB2E0fD7 aL0J8A1bUwctd6m4JZw== X-Authority-Analysis: v=2.4 cv=Jpz8bc4C c=1 sm=1 tr=0 ts=695d10d4 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=_fLkURk_aflrY1IPiHIA:9 a=uG9DUKGECoFWVXl0Dc02:22 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=2026-01-06_01,2026-01-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 suspectscore=0 impostorscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601060119 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