diff options
| author | Praveen Talari <praveen.talari@oss.qualcomm.com> | 2026-02-27 11:45:38 +0530 |
|---|---|---|
| committer | Bjorn Andersson <andersson@kernel.org> | 2026-05-21 21:56:38 -0500 |
| commit | c012e28e9a4a84b0fe7bf9ef7db334a9a4f31687 (patch) | |
| tree | ab98ef313ef0c584ea105c43ed66ebb423ae7c7a /include | |
| parent | f1a325d2812797166c744ff7ffb2ccbafbac20ad (diff) | |
| download | lwn-c012e28e9a4a84b0fe7bf9ef7db334a9a4f31687.tar.gz lwn-c012e28e9a4a84b0fe7bf9ef7db334a9a4f31687.zip | |
soc: qcom: geni-se: Introduce helper APIs for performance control
The GENI Serial Engine (SE) drivers (I2C, SPI, and SERIAL) currently
manage performance levels and operating points directly. This resulting
in code duplication across drivers. such as configuring a specific level
or find and apply an OPP based on a clock frequency.
Introduce two new helper APIs, geni_se_set_perf_level() and
geni_se_set_perf_opp(), addresses this issue by providing a streamlined
method for the GENI Serial Engine (SE) drivers to find and set the OPP
based on the desired performance level, thereby eliminating redundancy.
Signed-off-by: Praveen Talari <praveen.talari@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20260227061544.1785978-8-praveen.talari@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/soc/qcom/geni-se.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/soc/qcom/geni-se.h b/include/linux/soc/qcom/geni-se.h index 5f75159c5531..c5e6ab85df09 100644 --- a/include/linux/soc/qcom/geni-se.h +++ b/include/linux/soc/qcom/geni-se.h @@ -550,5 +550,9 @@ int geni_se_resources_deactivate(struct geni_se *se); int geni_load_se_firmware(struct geni_se *se, enum geni_se_protocol_type protocol); int geni_se_domain_attach(struct geni_se *se); + +int geni_se_set_perf_level(struct geni_se *se, unsigned long level); + +int geni_se_set_perf_opp(struct geni_se *se, unsigned long clk_freq); #endif #endif |
