Commit a5c16f29 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branch 'pm-cpufreq'

Merge cpufreq updates for 6.14:

 - Use str_enable_disable()-like helpers in cpufreq (Krzysztof
   Kozlowski).

 - Extend the Apple cpufreq driver to support more SoCs (Hector Martin,
   Nick Chan).

 - Add new cpufreq driver for Airoha SoCs (Christian Marangi).

 - Fix using cpufreq-dt as module (Andreas Kemnade).

 - Minor fixes for Sparc, SCMI, and Qcom cpufreq drivers (Ethan Carter
   Edwards, Sibi Sankar, Manivannan Sadhasivam).

 - Fix the maximum supported frequency computation in the ACPI cpufreq
   driver to avoid relying on unfounded assumptions (Gautham Shenoy).

 - Fix an amd-pstate driver regression with preferred core rankings not
   being used (Mario Limonciello).

 - Fix a precision issue with frequency calculation in the amd-pstate
   driver (Naresh Solanki).

 - Add ftrace event to the amd-pstate driver for active mode (Mario
   Limonciello).

 - Set default EPP policy on Ryzen processors in amd-pstate (Mario
   Limonciello).

 - Clean up the amd-pstate cpufreq driver and optimize it to increase
   code reuse (Mario Limonciello, Dhananjay Ugwekar).

 - Use CPPC to get scaling factors between HWP performance levels and
   frequency in the intel_pstate driver and make it stop using a built
   -in scaling factor for the Arrow Lake processor (Rafael Wysocki).

 - Make intel_pstate initialize epp_policy to CPUFREQ_POLICY_UNKNOWN for
   consistency with CPU offline (Christian Loehle).

 - Fix superfluous updates caused by need_freq_update in the schedutil
   cpufreq governor (Sultan Alsawaf).

* pm-cpufreq: (40 commits)
  cpufreq: Use str_enable_disable()-like helpers
  cpufreq: airoha: Add EN7581 CPUFreq SMCCC driver
  cpufreq: ACPI: Fix max-frequency computation
  cpufreq/amd-pstate: Refactor max frequency calculation
  cpufreq/amd-pstate: Fix prefcore rankings
  cpufreq: sparc: change kzalloc to kcalloc
  cpufreq: qcom: Implement clk_ops::determine_rate() for qcom_cpufreq* clocks
  cpufreq: qcom: Fix qcom_cpufreq_hw_recalc_rate() to query LUT if LMh IRQ is not available
  cpufreq: apple-soc: Add Apple A7-A8X SoC cpufreq support
  cpufreq: apple-soc: Set fallback transition latency to APPLE_DVFS_TRANSITION_TIMEOUT
  cpufreq: apple-soc: Increase cluster switch timeout to 400us
  cpufreq: apple-soc: Use 32-bit read for status register
  cpufreq: apple-soc: Allow per-SoC configuration of APPLE_DVFS_CMD_PS1
  cpufreq: apple-soc: Drop setting the PS2 field on M2+
  dt-bindings: cpufreq: apple,cluster-cpufreq: Add A7-A11, T2 compatibles
  dt-bindings: cpufreq: Document support for Airoha EN7581 CPUFreq
  cpufreq: fix using cpufreq-dt as module
  cpufreq: scmi: Register for limit change notifications
  cpufreq: schedutil: Fix superfluous updates caused by need_freq_update
  cpufreq: intel_pstate: Use CPUFREQ_POLICY_UNKNOWN
  ...
parents 1225bb42 251be0b5
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/cpufreq/airoha,en7581-cpufreq.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Airoha EN7581 CPUFreq

maintainers:
  - Christian Marangi <ansuelsmth@gmail.com>

description: |
  On newer Airoha SoC, CPU Frequency is scaled indirectly with SMC commands
  to ATF.

  A virtual clock is exposed. This virtual clock is a get-only clock and
  is used to expose the current global CPU clock. The frequency info comes
  by the output of the SMC command that reports the clock in MHz.

  The SMC sets the CPU clock by providing an index, this is modelled as
  performance states in a power domain.

  CPUs can't be individually scaled as the CPU frequency is shared across
  all CPUs and is global.

properties:
  compatible:
    const: airoha,en7581-cpufreq

  '#clock-cells':
    const: 0

  '#power-domain-cells':
    const: 0

  operating-points-v2: true

required:
  - compatible
  - '#clock-cells'
  - '#power-domain-cells'
  - operating-points-v2

additionalProperties: false

examples:
  - |
    performance-domain {
        compatible = "airoha,en7581-cpufreq";

        operating-points-v2 = <&cpu_smcc_opp_table>;

        #power-domain-cells = <0>;
        #clock-cells = <0>;
    };
+9 −1
Original line number Diff line number Diff line
@@ -24,9 +24,17 @@ properties:
              - apple,t8112-cluster-cpufreq
          - const: apple,cluster-cpufreq
      - items:
          - const: apple,t6000-cluster-cpufreq
          - enum:
              - apple,s8000-cluster-cpufreq
              - apple,t8010-cluster-cpufreq
              - apple,t8015-cluster-cpufreq
              - apple,t6000-cluster-cpufreq
          - const: apple,t8103-cluster-cpufreq
          - const: apple,cluster-cpufreq
      - items:
          - const: apple,t7000-cluster-cpufreq
          - const: apple,s5l8960x-cluster-cpufreq
      - const: apple,s5l8960x-cluster-cpufreq

  reg:
    maxItems: 1
+1 −1
Original line number Diff line number Diff line
@@ -232,7 +232,7 @@ config CPUFREQ_VIRT
	  If in doubt, say N.

config CPUFREQ_DT_PLATDEV
	tristate "Generic DT based cpufreq platdev driver"
	bool "Generic DT based cpufreq platdev driver"
	depends on OF
	help
	  This adds a generic DT based cpufreq platdev driver for frequency
+8 −0
Original line number Diff line number Diff line
@@ -15,6 +15,14 @@ config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM
	  To compile this driver as a module, choose M here: the
	  module will be called sun50i-cpufreq-nvmem.

config ARM_AIROHA_SOC_CPUFREQ
	tristate "Airoha EN7581 SoC CPUFreq support"
	depends on ARCH_AIROHA || COMPILE_TEST
	select PM_OPP
	default ARCH_AIROHA
	help
	  This adds the CPUFreq driver for Airoha EN7581 SoCs.

config ARM_APPLE_SOC_CPUFREQ
	tristate "Apple Silicon SoC CPUFreq support"
	depends on ARCH_APPLE || (COMPILE_TEST && 64BIT)
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ obj-$(CONFIG_X86_AMD_FREQ_SENSITIVITY) += amd_freq_sensitivity.o

##################################################################################
# ARM SoC drivers
obj-$(CONFIG_ARM_AIROHA_SOC_CPUFREQ)	+= airoha-cpufreq.o
obj-$(CONFIG_ARM_APPLE_SOC_CPUFREQ)	+= apple-soc-cpufreq.o
obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ)	+= armada-37xx-cpufreq.o
obj-$(CONFIG_ARM_ARMADA_8K_CPUFREQ)	+= armada-8k-cpufreq.o
Loading