Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

Merge branch 'pm-cpufreq'

* pm-cpufreq:
  cpufreq / intel_pstate: use vzalloc() instead of vmalloc()/memset(0)
  cpufreq, ondemand: Remove leftover debug line
  cpufreq / kirkwood: don't check resource with devm_ioremap_resource
  cpufreq / intel_pstate: remove #ifdef MODULE compile fence
  cpufreq / intel_pstate: Remove idle mode PID
  cpufreq / intel_pstate: fix ffmpeg regression
  cpufreq / intel_pstate: use lowest requested max performance
  cpufreq / intel_pstate: remove idle time and duration from sample and calculations
  cpufreq: Fix incorrect dependecies for ARM SA11xx drivers
  cpufreq: ARM big LITTLE: Fix Kconfig entries
  cpufreq: cpufreq-cpu0: Free parent node for error cases
  cpufreq: cpufreq-cpu0: defer probe when regulator is not ready
  cpufreq: Issue CPUFREQ_GOV_POLICY_EXIT notifier before dropping policy refcount
  cpufreq: governors: Fix CPUFREQ_GOV_POLICY_{INIT|EXIT} notifiers
  cpufreq: ARM big LITTLE: Improve print message
  cpufreq: ARM big LITTLE: Move cpu_to_cluster() to arm_big_little.h
  cpufreq: ARM big LITTLE DT: Return CPUFREQ_ETERNAL if clock-latency isn't found
  cpufreq: ARM big LITTLE DT: Return correct transition latency
  cpufreq: ARM big LITTLE: Select PM_OPP
parents f722406f b57ffac5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ config CPU_FREQ_STAT_DETAILS

choice
	prompt "Default CPUFreq governor"
	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
	default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
	help
	  This option sets which CPUFreq governor shall be loaded at
+8 −7
Original line number Diff line number Diff line
@@ -3,16 +3,17 @@
#

config ARM_BIG_LITTLE_CPUFREQ
	tristate
	depends on ARM_CPU_TOPOLOGY
	tristate "Generic ARM big LITTLE CPUfreq driver"
	depends on ARM_CPU_TOPOLOGY && PM_OPP && HAVE_CLK
	help
	  This enables the Generic CPUfreq driver for ARM big.LITTLE platforms.

config ARM_DT_BL_CPUFREQ
	tristate "Generic ARM big LITTLE CPUfreq driver probed via DT"
	select ARM_BIG_LITTLE_CPUFREQ
	depends on OF && HAVE_CLK
	tristate "Generic probing via DT for ARM big LITTLE CPUfreq driver"
	depends on ARM_BIG_LITTLE_CPUFREQ && OF
	help
	  This enables the Generic CPUfreq driver for ARM big.LITTLE platform.
	  This gets frequency tables from DT.
	  This enables probing via DT for Generic CPUfreq driver for ARM
	  big.LITTLE platform. This gets frequency tables from DT.

config ARM_EXYNOS_CPUFREQ
	bool "SAMSUNG EXYNOS SoCs"
+1 −6
Original line number Diff line number Diff line
@@ -40,11 +40,6 @@ static struct clk *clk[MAX_CLUSTERS];
static struct cpufreq_frequency_table *freq_table[MAX_CLUSTERS];
static atomic_t cluster_usage[MAX_CLUSTERS] = {ATOMIC_INIT(0), ATOMIC_INIT(0)};

static int cpu_to_cluster(int cpu)
{
	return topology_physical_package_id(cpu);
}

static unsigned int bL_cpufreq_get(unsigned int cpu)
{
	u32 cur_cluster = cpu_to_cluster(cpu);
@@ -192,7 +187,7 @@ static int bL_cpufreq_init(struct cpufreq_policy *policy)

	cpumask_copy(policy->cpus, topology_core_cpumask(policy->cpu));

	dev_info(cpu_dev, "CPU %d initialized\n", policy->cpu);
	dev_info(cpu_dev, "%s: CPU %d initialized\n", __func__, policy->cpu);
	return 0;
}

+5 −0
Original line number Diff line number Diff line
@@ -34,6 +34,11 @@ struct cpufreq_arm_bL_ops {
	int (*init_opp_table)(struct device *cpu_dev);
};

static inline int cpu_to_cluster(int cpu)
{
	return topology_physical_package_id(cpu);
}

int bL_cpufreq_register(struct cpufreq_arm_bL_ops *ops);
void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops);

+5 −4
Original line number Diff line number Diff line
@@ -66,8 +66,8 @@ static int dt_get_transition_latency(struct device *cpu_dev)

	parent = of_find_node_by_path("/cpus");
	if (!parent) {
		pr_err("failed to find OF /cpus\n");
		return -ENOENT;
		pr_info("Failed to find OF /cpus. Use CPUFREQ_ETERNAL transition latency\n");
		return CPUFREQ_ETERNAL;
	}

	for_each_child_of_node(parent, np) {
@@ -78,10 +78,11 @@ static int dt_get_transition_latency(struct device *cpu_dev)
		of_node_put(np);
		of_node_put(parent);

		return 0;
		return transition_latency;
	}

	return -ENODEV;
	pr_info("clock-latency isn't found, use CPUFREQ_ETERNAL transition latency\n");
	return CPUFREQ_ETERNAL;
}

static struct cpufreq_arm_bL_ops dt_bL_ops = {
Loading