This adds Krait Cache scaling support using the cpufreq notifier. I have some doubt about where this should be actually placed (clk or cpufreq)? Also the original idea was to create a dedicated cpufreq driver (like it's done in the codeaurora qcom repo) by copying the cpufreq-dt driver and adding the cache scaling logic but i still don't know what is better. Have a very similar driver or add a dedicated driver only for the cache using the cpufreq notifier and do the scale on every freq transition. Thanks to everyone who will review or answer these questions. v3: * Use opp infrastructure * Update documentation v2: * Fix Documentation error reported by bot * Rework code to fail probe on missing required params * Optimize notifier callback to reduce CPU cycle Ansuel Smith (2): cpufreq: qcom: Add Krait Cache Scaling support dt-bindings: cpufreq: Document Krait CPU Cache scaling .../bindings/cpufreq/krait-cache-scale.yaml | 79 ++++++ drivers/cpufreq/Kconfig.arm | 9 + drivers/cpufreq/Makefile | 1 + drivers/cpufreq/krait-cache.c | 232 ++++++++++++++++++ 4 files changed, 321 insertions(+) create mode 100644 Documentation/devicetree/bindings/cpufreq/krait-cache-scale.yaml create mode 100644 drivers/cpufreq/krait-cache.c -- 2.27.0