- 17 8月, 2017 1 次提交
-
-
由 Rob Herring 提交于
Now that we have a custom printf format specifier, convert users of full_name to use %pOF instead. This is preparation to remove storing of the full path string for each node. Signed-off-by: NRob Herring <robh@kernel.org> Acked-by: NKrzysztof Kozlowski <krzk@kernel.org> Acked-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-by: NGeert Uytterhoeven <geert+renesas@glider.be> Acked-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: NShawn Guo <shawnguo@kernel.org> Acked-by: NSimon Horman <horms+renesas@verge.net.au> Cc: Russell King <linux@armlinux.org.uk> Cc: Kukjin Kim <kgene@kernel.org> Cc: Javier Martinez Canillas <javier@osg.samsung.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Cc: Tony Lindgren <tony@atomide.com> Cc: "Benoît Cousson" <bcousson@baylibre.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 28 2月, 2017 1 次提交
-
-
由 Florian Fainelli 提交于
All low-level PM/SMP code using virt_to_phys() should actually use __pa_symbol() against kernel symbols. Update code where relevant to move away from virt_to_phys(). Acked-by: NRussell King <rmk+kernel@armlinux.org.uk> Reviewed-by: NLaura Abbott <labbott@redhat.com> Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 12 4月, 2016 1 次提交
-
-
由 Peter Griffin 提交于
This fixes the following sparse build warning: mach-rockchip/platsmp.c:68:43: Using plain integer as NULL pointer Signed-off-by: NPeter Griffin <peter.griffin@linaro.org> Acked-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
- 17 12月, 2015 1 次提交
-
-
由 Heiko Stuebner 提交于
The newly added rk3036 smp operations missed the wholesale fixup from Masahiro Yamada. So fix that now. Reported-by: NMark Brown <broonie@kernel.org> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
- 02 12月, 2015 1 次提交
-
-
由 Masahiro Yamada 提交于
These smp_operations structures are not over-written, so add "const" qualifier and replace __initdata with __initconst. Also, add "static" where it is possible. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Acked-by: NMaxime Ripard <maxime.ripard@free-electrons.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Acked-by: Stephen Boyd <sboyd@codeaurora.org> # qcom part Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Acked-by: NPatrice Chotard <patrice.chotard@st.com> Acked-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NWei Xu <xuwei5@hisilicon.com> Acked-by: NFlorian Fainelli <f.fainelli@gmail.com> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: NShawn Guo <shawnguo@kernel.org> Acked-by: NMatthias Brugger <matthias.bgg@gmail.com> Acked-by: NThierry Reding <treding@nvidia.com> Acked-by: NNicolas Pitre <nico@linaro.org> Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 19 11月, 2015 1 次提交
-
-
由 Heiko Stuebner 提交于
The dual-core Cortex A7 rk3036 is a bit special in that it does not allow to control the actual powerdomain of the cpu cores, while the rest of the smp-bringup like reset control and entry address handling stays the same. Its bigger sibling, the quad-core rk3128 again allows powerdomain control. So allow that case by introducing a separate smp-enable-method, that simply disables powerdomain handling in the common code. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NXing Zheng <zhengxing@rock-chips.com> Acked-by: NRob Herring <robh@kernel.org>
-
- 06 7月, 2015 4 次提交
-
-
由 Caesar Wang 提交于
The following was seen in branch[0] build. arch/arm/mach-rockchip/platsmp.c:154:23: error: 'rockchip_secondary_startup' undeclared (first use in this function) branch[0]: git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git v4.3-armsoc/soc The broken build is caused by the commit fe4407c0 ("ARM: rockchip: fix the CPU soft reset"). Signed-off-by: NCaesar Wang <wxt@rock-chips.com> The breakage was a result of it being wrongly merged in my branch with the cache invalidation rework from Russell 02b4e275 ("ARM: v7 setup function should invalidate L1 cache"). Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
由 Caesar Wang 提交于
Use the below scripts to check: scripts/checkpatch.pl -f --subject arch/arm/mach-rockchip/platsmp.c Signed-off-by: NCaesar Wang <wxt@rock-chips.com> Reviewed-by: NDouglas Anderson <dianders@chromium.org> Reviewed-by: NKever Yang <kever.yang@rock-chips.com> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
由 Caesar Wang 提交于
The patch can ensure that v7_exit_coherency_flush() in rockchip_cpu_die() executed in time. The mdelay(1) has enough time to fix the problem of CPU offlining. That's a workaround way in rockchip hotplug code, At least, we haven't a better way to solve it. Who know, that maybe fixed by chip (hardware) in the future. Signed-off-by: NCaesar Wang <wxt@rock-chips.com> Reviewed-by: NDouglas Anderson <dianders@chromium.org> Reviewed-by: NKever Yang <kever.yang@rock-chips.com> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
由 Caesar Wang 提交于
We need different orderings when turning a core on and turning a core off. In one case we need to assert reset before turning power off. In ther other case we need to turn power on and the deassert reset. In general, the correct flow is: CPU off: reset_control_assert regmap_update_bits(pmu, PMU_PWRDN_CON, BIT(pd), BIT(pd)) wait_for_power_domain_to_turn_off CPU on: regmap_update_bits(pmu, PMU_PWRDN_CON, BIT(pd), 0) wait_for_power_domain_to_turn_on reset_control_deassert This is needed for stressing CPU up/down, as per: cd /sys/devices/system/cpu/ for i in $(seq 10000); do echo "================= $i ============" for j in $(seq 100); do while [[ "$(cat cpu1/online)$(cat cpu2/online)$(cat cpu3/online)" != "000"" ]] echo 0 > cpu1/online echo 0 > cpu2/online echo 0 > cpu3/online done while [[ "$(cat cpu1/online)$(cat cpu2/online)$(cat cpu3/online)" != "111" ]]; do echo 1 > cpu1/online echo 1 > cpu2/online echo 1 > cpu3/online done done done The following is reproducable log: [34466.186812] PM: noirq suspend of devices complete after 0.669 msecs [34466.186824] Disabling non-boot CPUs ... [34466.187509] CPU1: shutdown [34466.188672] CPU2: shutdown [34473.736627] Kernel panic - not syncing:Watchdog detected hard LOCKUP on cpu 0 ....... or others similar log: ....... [ 4072.454453] CPU1: shutdown [ 4072.504436] CPU2: shutdown [ 4072.554426] CPU3: shutdown [ 4072.577827] CPU1: Booted secondary processor [ 4072.582611] CPU2: Booted secondary processor <hang> Tested by cpu up/down scripts, the results told us need delay more time before write the sram. The wait time is affected by many aspects (e.g: cpu frequency, bootrom frequency, sram frequency, bus speed, ...). Although the cpus other than cpu0 will write the sram, the speedy is no the same as cpu0, if the cpu0 early wake up, perhaps the other cpus can't startup. As we know, the cpu0 can wake up when the cpu1/2/3 write the 'sram+4/8' and send the sev. Anyway..... At the moment, 1ms delay will be happy work for cpu up/down scripts test. Signed-off-by: NCaesar Wang <wxt@rock-chips.com> Reviewed-by: NDoug Anderson <dianders@chromium.org> Reviewed-by: NKever Yang <kever.yang@rock-chips.com> Fixes: 3ee851e2 ("ARM: rockchip: add basic smp support for rk3288") Cc: stable@vger.kernel.org Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
- 17 6月, 2015 1 次提交
-
-
由 Paul Gortmaker 提交于
We removed __cpuinit support (leaving no-op stubs) quite some time ago. However this one crept back in as of commit a7a2b311 ("ARM: rockchip: add smp bringup code"). Since we want to clobber the stubs soon, get this removed now. Cc: Heiko Stuebner <heiko@sntech.de> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
-
- 01 6月, 2015 1 次提交
-
-
由 Russell King 提交于
All ARMv5 and older CPUs invalidate their caches in the early assembly setup function, prior to enabling the MMU. This is because the L1 cache should not contain any data relevant to the execution of the kernel at this point; all data should have been flushed out to memory. This requirement should also be true for ARMv6 and ARMv7 CPUs - indeed, these typically do not search their caches when caching is disabled (as it needs to be when the MMU is disabled) so this change should be safe. ARMv7 allows there to be CPUs which search their caches while caching is disabled, and it's permitted that the cache is uninitialised at boot; for these, the architecture reference manual requires that an implementation specific code sequence is used immediately after reset to ensure that the cache is placed into a sane state. Such functionality is definitely outside the remit of the Linux kernel, and must be done by the SoC's firmware before _any_ CPU gets to the Linux kernel. Changing the data cache clean+invalidate to a mere invalidate allows us to get rid of a lot of platform specific hacks around this issue for their secondary CPU bringup paths - some of which were buggy. Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com> Tested-by: NFlorian Fainelli <f.fainelli@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NDinh Nguyen <dinguyen@opensource.altera.com> Acked-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Tested-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: NShawn Guo <shawn.guo@linaro.org> Tested-by: NThierry Reding <treding@nvidia.com> Acked-by: NThierry Reding <treding@nvidia.com> Tested-by: NGeert Uytterhoeven <geert+renesas@glider.be> Tested-by: NMichal Simek <michal.simek@xilinx.com> Tested-by: NWei Xu <xuwei5@hisilicon.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 12 3月, 2015 1 次提交
-
-
由 Krzysztof Kozlowski 提交于
The regmap_config struct may be const because it is not modified by the driver and regmap_init() accepts pointer to const. Make function rockchip_get_core_reset() static because it is not used outside of the platsmp.c file. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
- 06 11月, 2014 3 次提交
-
-
由 Kever Yang 提交于
This patch add basic rk3288 smp support. Only cortex-A9 need invalid L1, A7/A12/A15/A17 should not invalid L1, since for A7/A12/A15, the invalidation would be taken as clean and invalidate. If you use the software manual invalidation instead of hardware invalidation (assert l1/l2rstdisable during reset) after reset, there is tiny change that some cachelines would be in dirty and valid state after reset(since the ram content would be random value after reset), then the unexpected clean might lead to system crash. It is a known issue for the A12/A17 MPCore multiprocessor that the active processors might be stalled when the individual processor is powered down, we can avoid this prolbem by softreset the processor before power it down. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Tested-by: NKevin Hilman <khilman@linaro.org> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
由 Heiko Stuebner 提交于
Makes it possible to define a rockchip,pmu phandle in the cpus node directly referencing the pmu syscon instead of searching for specific compatible. The old way of finding the pmu stays of course available. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Tested-by: NKevin Hilman <khilman@linaro.org> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
由 Heiko Stuebner 提交于
The pmu register space is - like the GRF - shared by quite some peripherals. On the rk3188 and rk3288 even parts of the pinctrl are living there. Therefore we normally shouldn't map it a second time when the syscon does this already. Therefore convert the cpu power-domain handling to access the pmu via a regmap and at first try to get it via the syscon interface. Getting this syscon will only fail if the pmu node does not have the "syscon" compatible and thus does not get shared with other drivers. In this case we map it like before and create the necessary regmap on top of it. Signed-off-by: NKever Yang <kever.yang@rock-chips.com> Tested-by: NKevin Hilman <khilman@linaro.org> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
- 23 7月, 2014 1 次提交
-
-
由 Romain Perier 提交于
Adds ability to shutdown all CPUs except the first one (since it might be special for a lot of platforms). It is now possible to use kexec which requires such a feature. Signed-off-by: NRomain Perier <romain.perier@gmail.com> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
- 27 5月, 2014 1 次提交
-
-
由 Heiko Stübner 提交于
With the newly introduced CPU_METHOD_OF_DECLARE is not necessary anymore to reference the relevant smp_ops in the board file, but instead it can simply be set by the enable-method property of the cpu nodes. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 15 4月, 2014 1 次提交
-
-
由 Heiko Stuebner 提交于
The error emitted when mapping the pmu failed, wrongly mentions the sram. Reported-by: NKent Borg <kentborg@borg.org> Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
-
- 02 3月, 2014 1 次提交
-
-
由 Heiko Stuebner 提交于
This adds the necessary smp-operations and startup code to use additional cores on Rockchip SoCs. We currently hog the power management unit in the smp code, as it is necessary to control the power to the cpu core and nothing else is currently using it, so a generic implementation can be done later. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NUlrich Prinz <ulrich.prinz@googlemail.com>
-