- 01 9月, 2014 1 次提交
-
-
由 Alex Shi 提交于
With ARCH_VEXPRESS_SPC option, kernel build has the following warning: arch/arm/mach-vexpress/spc.c: In function ‘ve_spc_clk_init’: arch/arm/mach-vexpress/spc.c:431:38: warning: array subscript is below array bounds [-Warray-bounds] struct ve_spc_opp *opps = info->opps[cluster]; ^ since 'cluster' maybe '-1' in UP system. This patch does a active checking to fix this issue. Signed-off-by: NAlex Shi <alex.shi@linaro.org> Acked-by: NPawel Moll <pawel.moll@arm.com> Acked-by: NSudeep Holla <sudeep.holla@arm.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 25 4月, 2014 1 次提交
-
-
由 Punit Agrawal 提交于
The SPC stores voltage in mV while the code assumes it was returning uV. Convert the returned voltage to uV before storing. Also fix the comment depicting voltage to uV. Signed-off-by: NPunit Agrawal <punit.agrawal@arm.com> Reviewed-by: NSudeep Holla <sudeep.holla@arm.com> Signed-off-by: NPawel Moll <pawel.moll@arm.com>
-
- 26 11月, 2013 1 次提交
-
-
由 Dave Martin 提交于
This patch implements the power_down_finish() method for TC2, to enable the kernel to confirm when CPUs are safely powered down. The information required for determining when a CPU is parked cannot be obtained from any single place, so a few sources of information must be combined: * mcpm_cpu_power_down() must be pending for the CPU, so that we don't get confused by false STANDBYWFI positives arising from CPUidle. This is detected by waiting for the tc2_pm use count for the target CPU to reach 0. * Either the SPC must report that the CPU has asserted STANDBYWFI, or the TC2 tile's reset control logic must be holding the CPU in reset. Just checking for STANDBYWFI is not sufficient, because this signal is not latched when the the cluster is clamped off and powered down: the relevant status bits just drop to zero. This means that STANDBYWFI status cannot be used for reliable detection of the last CPU in a cluster reaching WFI. This patch is required in order for kexec to work with MCPM on TC2. MCPM code was changed in commit 0de0d646 ('ARM: 7848/1: mcpm: Implement cpu_kill() to synchronise on powerdown'), and since then it will hit a WARN_ON_ONCE() due to power_down_finish not being implemented on the TC2 platform. Signed-off-by: NDave Martin <Dave.Martin@arm.com> Acked-by: NPawel Moll <pawel.moll@arm.com> Reviewed-by: NNicolas Pitre <nico@linaro.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 30 10月, 2013 3 次提交
-
-
由 Sudeep KarkadaNagesha 提交于
This patch adds vexpress-spc platform device to enables the vexpress SPC cpufreq interface driver. Signed-off-by: NSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> Acked-by: NPawel Moll <Pawel.Moll@arm.com> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
由 Sudeep KarkadaNagesha 提交于
On TC2, the cpu clocks are controlled by the external M3 microcontroller and SPC provides the interface between the CPU and the power controller. The generic cpufreq drivers use the clock APIs to get the cpu clocks. This patch add virtual spc clocks for all the cpus to control the cpu operating frequency via the clock framework. Signed-off-by: NSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> Acked-by: NNicolas Pitre <nico@linaro.org> Acked-by: NPawel Moll <Pawel.Moll@arm.com> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
由 Sudeep KarkadaNagesha 提交于
SPC(Serial Power Controller) on TC2 also controls the CPU performance operating points which is essential to provide CPU DVFS. The M3 microcontroller provides two sets of eight performance values, one set for each cluster (CA15 or CA7). Each of this value contains the frequency(kHz) and voltage(mV) at that performance level. It expects these performance level to be passed through the SPC PERF_LVL registers. This patch adds support to populate these performance levels from M3, build the mapping to CPU OPPs at the boot and then use it to get and set the CPU performance level runtime. Signed-off-by: NSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> Acked-by: NNicolas Pitre <nico@linaro.org> Acked-by: NPawel Moll <Pawel.Moll@arm.com> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 07 8月, 2013 1 次提交
-
-
由 Lorenzo Pieralisi 提交于
The TC2 versatile express core tile integrates a logic block that provides the interface between the dual cluster test-chip and the M3 microcontroller that carries out power management. The logic block, called Serial Power Controller (SPC), contains several memory mapped registers to control among other things low-power states, wake-up irqs and per-CPU jump addresses registers. This patch provides a driver that enables run-time control of features implemented by the SPC power management control logic with an API to be used by different subsystem drivers on top. The SPC control logic is required to be programmed very early in the boot process to reset secondary CPUs on the TC2 testchip, set-up jump addresses and wake-up IRQs for power management. Hence, waiting for core changes to be made in the device core code to enable early registration of platform devices, the driver puts in place an early init scheme that allows kernel drivers to initialize the SPC driver directly from the components requiring it, if their initialization routine is called before this driver init function during the boot process. Device tree bindings documentation for the SPC component is also provided. Cc: Olof Johansson <olof@lixom.net> Cc: Amit Kucheria <amit.kucheria@linaro.org> Cc: Jon Medhurst <tixy@linaro.org> Signed-off-by: NAchin Gupta <achin.gupta@arm.com> Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: NSudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com> Acked-by: NPawel Moll <pawel.moll@arm.com> [ np: moved from drivers/mfd/ to drivers/platform/vexpress/ ] Signed-off-by: NNicolas Pitre <nico@linaro.org> [ PM: moved again to arch/arm/mach-vexpress, requested by Olof ] [ PM: removed useless printk, from Olof ] [ PM: made the driver SPC-only ] Signed-off-by: NPawel Moll <pawel.moll@arm.com>
-