[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250917140933.2042689-1-quic_rdwivedi@quicinc.com>
Date: Wed, 17 Sep 2025 19:39:29 +0530
From: Ram Kumar Dwivedi <quic_rdwivedi@...cinc.com>
To: <alim.akhtar@...sung.com>, <avri.altman@....com>, <bvanassche@....org>,
<robh@...nel.org>, <krzk+dt@...nel.org>, <conor+dt@...nel.org>,
<mani@...nel.org>, <James.Bottomley@...senPartnership.com>,
<martin.petersen@...cle.com>
CC: <linux-scsi@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>
Subject: [PATCH V6 0/4] Add DT-based gear and rate limiting support
This patch series adds support for limiting the maximum high-speed
gear and rate used by the UFS controller via device tree properties.
Some platforms may have signal integrity, clock configuration, or
layout issues that prevent reliable operation at higher gears or rates.
This is especially critical in automotive and other platforms where
stability is prioritized over peak performance.
The series follows this logical progression:
1. Document the new DT properties in the common UFS binding
2. Clean up existing redundant code in the qcom driver
3. Add platform-level parsing support for the new properties
4. Integrate the platform support in the qcom driver
This approach makes the functionality available to other UFS host
drivers and provides a cleaner, more maintainable implementation.
Changes from V1:
- Restructured patch series for better logical flow and maintainability.
- Moved DT bindings to ufs-common.yaml making it available for all UFS
controllers.
- Added platform-level support in ufshcd-pltfrm.c for code reusability.
- Separated the cleanup patch to remove redundant hs_rate assignment in
qcom driver.
- Removed SA8155 DTS changes to keep the series focused on core
functionality.
- Improved commit messages with better technical rationale.
Changes from V2:
- Documented default values of limit-rate and limit-hs-gear in DT bindings
as per Krzysztof's suggestion.
Changes from V3:
- Changed limit-rate property from numeric values 1 and 2 to string values
Rate-A and Rate-B for better readability and clarity as suggested by
Bart and Krzysztof.
- Added Co-developed-by tag for Nitin Rawat in 3rd patch.
Changes from V4:
- Added the missing argument to the error message while parsing
limit-rate property.
- Updated the maximum supported value and default for limit-gear
property to gear 6, as per Krzysztof's and Bart's recommendation.
- Renamed Rate-A and Rate-B to lowercase (rate-a, rate-b) as suggested
by Krzysztof.
Changes from V5:
- Updated device tree property name from "limit-rate" to "limit-gear-rate"
to improve clarity and consistency as suggested by Alim Akhtar.
- Renamed function ufshcd_parse_limits() to ufshcd_parse_gear_limits()
for better alignment with its purpose as suggested by Alim Akhtar.
- Renamed function ufs_qcom_parse_limit() to ufs_qcom_parse_gear_limit()
for consistency with naming conventions.
- Added Reviewed-by: Alim Akhtar <alim.akhtar@...sung.com> to patch 2/4.
- Added Reviewed-by: Krzysztof Kozlowski <krzk@...nel.org> to patch 1/4.
Ram Kumar Dwivedi (4):
ufs: dt-bindings: Document gear and rate limit properties
ufs: ufs-qcom: Remove redundant re-assignment to hs_rate
ufs: pltfrm: Add DT support to limit HS gear and gear rate
ufs: ufs-qcom: Add support for limiting HS gear and rate
.../devicetree/bindings/ufs/ufs-common.yaml | 16 +++++++++
drivers/ufs/host/ufs-qcom.c | 21 ++++++++----
drivers/ufs/host/ufshcd-pltfrm.c | 33 +++++++++++++++++++
drivers/ufs/host/ufshcd-pltfrm.h | 1 +
4 files changed, 65 insertions(+), 6 deletions(-)
--
2.50.1
Powered by blists - more mailing lists