Skip to content

Backport OPP Tables for UFS Node

Alessandro Carminati requested to merge acarmina/centos-stream-9:ac-ufs-opp into main

JIRA: https://issues.redhat.com/browse/RHEL-16059

This issue revolves around backporting OPP (Operating Performance Points) tables into CS9 for UFS nodes. OPP tables play a crucial role in dynamically scaling both clocks and regulators/performance states. Each OPP, when present, must contain an array of frequencies stored in a specific order for each clock. If a clock frequency in the array is set to "0", it is assumed that the frequency is determined by the parent clock or a fixed-rate clock source.

The motivation behind incorporating OPP support is to enable the dynamic scaling of both clocks and performance states of power domains. Currently, UFSHCD scales clock frequency during runtime using the "freq-table-hz" property defined in the devicetree. The addition of OPP tables in the devicetree for UFSHCD allows for a more comprehensive approach, scaling both clocks and the performance state of power domains, resulting in enhanced power efficiency.

conflicts stats:

upstream downstream subject details
b5d281f6c16 3100d7a8 PM / devfreq: Rework freq_table to be local to devfreq struct Context adjustments in include/linux/devfreq.h hunk#1 to meet modification introduced in 5fdded8448924
e820de1d115 ed8a3bd7 scsi: ufs: dt-bindings: common: Add OPP table fixed due to context diff introduced 4569820881c6e Due to the large number of files it changes, it is inappropriate to backport it.
930bd77ebe3 d7f49d48 scsi: ufs: core: Add OPP support for scaling clocks and regulators fixed due to context diff introduced 3a17fefe0f196 Due to the large number of files it changes, it is inappropriate to backport it.
016b4e5e286 ebd3cd86 pmdomain: qcom: cpr: Drop the ->opp_to_performance_state() callback Didn't follow 2ad626f8f40 on rename files. Restored the old name: drivers/pmdomain/qcom/cpr.c -> drivers/soc/qcom/cpr.c
40d7f4d2e6d 2b80c30d pmdomain: qcom: rpmpd: Drop the ->opp_to_performance_state() callback Didn't follow 2ad626f8f40 on rename files. Restored the old name: drivers/pmdomain/qcom/rpmpd.c -> drivers/soc/qcom/rpmpd.c
55089e1fb2d b14446ae pmdomain: qcom: rpmhpd: Drop the ->opp_to_performance_state() callback Didn't follow 2ad626f8f40 on rename files. Restored the old name: drivers/pmdomain/qcom/rpmhpd.c -> drivers/soc/qcom/rpmhpd.c

Signed-off-by: Alessandro Carminati acarmina@redhat.com

Edited by Alessandro Carminati

Merge request reports