- 18 9月, 2017 1 次提交
-
-
由 Alexandre Belloni 提交于
The PM code wrongly uses virt_to_phys() instead of __pa_symbol() and was not updated by commit 64fc2a94 ("ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol") because it was not yet in tree. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@microchip.com>
-
- 23 8月, 2017 1 次提交
-
-
由 Arnd Bergmann 提交于
My previous patch fixed a link error for all at91 platforms when CONFIG_ARM_CPU_SUSPEND was not set, however this caused another problem on a configuration that enabled CONFIG_ARCH_AT91 but none of the individual SoCs, and that also enabled CPU_ARM720 as the only CPU: warning: (ARCH_AT91 && SOC_IMX23 && SOC_IMX28 && ARCH_PXA && MACH_MVEBU_V7 && SOC_IMX6 && ARCH_OMAP3 && ARCH_OMAP4 && SOC_OMAP5 && SOC_AM33XX && SOC_DRA7XX && ARCH_EXYNOS3 && ARCH_EXYNOS4 && EXYNOS5420_MCPM && EXYNOS_CPU_SUSPEND && ARCH_VEXPRESS_TC2_PM && ARM_BIG_LITTLE_CPUIDLE && ARM_HIGHBANK_CPUIDLE && QCOM_PM) selects ARM_CPU_SUSPEND which has unmet direct dependencies (ARCH_SUSPEND_POSSIBLE) arch/arm/kernel/sleep.o: In function `cpu_resume': (.text+0xf0): undefined reference to `cpu_arm720_suspend_size' arch/arm/kernel/suspend.o: In function `__cpu_suspend_save': suspend.c:(.text+0x134): undefined reference to `cpu_arm720_do_suspend' This improves the hack some more by only selecting ARM_CPU_SUSPEND for the part that requires it, and changing pm.c to drop the contents of unused init functions so we no longer refer to cpu_resume on at91 platforms that don't need it. Fixes: cc7a938f ("ARM: at91: select CONFIG_ARM_CPU_SUSPEND") Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 19 5月, 2017 1 次提交
-
-
由 Arnd Bergmann 提交于
gcc-7 warns about some declarations that are more 'const' than necessary: arch/arm/mach-at91/pm.c:338:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier] static const struct of_device_id const ramc_ids[] __initconst = { arch/arm/mach-bcm/bcm_kona_smc.c:36:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier] static const struct of_device_id const bcm_kona_smc_ids[] __initconst = { arch/arm/mach-spear/time.c:207:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier] static const struct of_device_id const timer_of_match[] __initconst = { arch/arm/mach-omap2/prm_common.c:714:34: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier] static const struct of_device_id const omap_prcm_dt_match_table[] __initconst = { arch/arm/mach-omap2/vc.c:562:35: error: duplicate 'const' declaration specifier [-Werror=duplicate-decl-specifier] static const struct i2c_init_data const omap4_i2c_timing_data[] __initconst = { The ones in arch/arm were apparently all introduced accidentally by one commit that correctly marked a lot of variables as __initconst. Fixes: 19c233b7 ("ARM: appropriate __init annotation for const data") Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NTony Lindgren <tony@atomide.com> Acked-by: NNicolas Pitre <nico@linaro.org> Acked-by: NFlorian Fainelli <f.fainelli@gmail.com> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Acked-by: NKrzysztof Hałasa <khalasa@piap.pl> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 15 5月, 2017 3 次提交
-
-
由 Alexandre Belloni 提交于
If the backup sram allocation fails, ensure we can suspend by falling back to the usual slow clock mode. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NWenyou Yang <wenyou.yang@atmel.com>
-
由 Alexandre Belloni 提交于
While we can only select between "standby" and "mem" states for power management, the atmel platforms can actually support more modes. For both standby and mem, allow selecting which mode will be used using the atmel.pm_modes kernel parameter. By default, keep the current modes. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NWenyou Yang <wenyou.yang@atmel.com>
-
由 Alexandre Belloni 提交于
The sama5d2 has a mode were it is possible to cut power to the SoC while keeping the RAM in self refresh. Resuming from that mode needs support in the firmware/bootloader. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NWenyou Yang <wenyou.yang@atmel.com>
-
- 01 4月, 2017 10 次提交
-
-
由 Alexandre Belloni 提交于
Merge at91_pm_set_standby() in at91_dt_ramc as this is the only callsite. That moves it to the init section. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
The PM initialization is now identical for all at91sam9. Merge the functions. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
The USB clocks mask (uhp_udp_mask) depends on the pmc. Tie it to the pmc id instead of the SoC. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
Instead of relying on the SoC type to select the memory controller type, use the device tree ids as they are parsed anyway. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
As already explained for pm_suspend.S, the DDRSDR controller fails to put LPDDR1 memories in self-refresh. Force the controller to think it has DDR2 memories during the self-refresh period, as the DDR2 self-refresh spec is equivalent to LPDDR1, and is correctly implemented in the controller. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
Since 2008, AT91_MC_SDRAMC_LPR is set to 0 at kernel initialization. There is no use saving, changing and restoring it. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
The number of register we can safely pass to at91_pm_suspend_in_sram is limited. Instead, pass the address to the at91_pm_data structure. The offsets are automatically generated to avoid hardcoding them. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
Instead of having separate global variables to hold IP addresses, move them to struct at91_pm_data. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
Those macros are only used in pm.c, move them there so we can remove the test on __ASSEMBLY__. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
由 Alexandre Belloni 提交于
Remove unnecessary header inclusions and reorder the remaining ones. Acked-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
- 14 3月, 2017 1 次提交
-
-
由 Nicolas Ferre 提交于
On some DDR controllers, compatible with the sama5d3 one, the sequence to enter/exit/re-enter the self-refresh mode adds more constrains than what is currently written in the at91_idle driver. An actual access to the DDR chip is needed between exit and re-enter of this mode which is somehow difficult to implement. This sequence can completely hang the SoC. It is particularly experienced on parts which embed a L2 cache if the code run between IDLE calls fits in it... Moreover, as the intention is to enter and exit pretty rapidly from IDLE, the power-down mode is a good candidate. So now we use power-down instead of self-refresh. As we can simplify the code for sama5d3 compatible DDR controllers, we instantiate a new sama5d3_ddr_standby() function. Signed-off-by: NNicolas Ferre <nicolas.ferre@microchip.com> Cc: <stable@vger.kernel.org> # v4.1+ Fixes: 017b5522 ("ARM: at91: Add new binding for sama5d3-ddramc") Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
- 11 1月, 2017 1 次提交
-
-
由 Alexandre Belloni 提交于
at91_ramc_base is local to pm.c, remove its definition in pm.h Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
- 21 6月, 2016 1 次提交
-
-
由 Ben Dooks 提交于
Fix a pair of missing statics on un-exported functions and include <linux/platform_data/atmel.h> to provide the declaration of at91_suspend_entering_slow_clock() to fix the following sparse warnings: arch/arm/mach-at91/pm.c:127:5: warning: symbol 'at91_suspend_entering_slow_clock' was not declared. Should it be static? arch/arm/mach-at91/pm.c:358:6: warning: symbol 'at91rm9200_idle' was not declared. Should it be static? arch/arm/mach-at91/pm.c:367:6: warning: symbol 'at91sam9_idle' was not declared. Should it be static? Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
- 18 2月, 2016 3 次提交
-
-
由 Alexandre Belloni 提交于
Avoid using code from clk/at91 for PM. This also has the bonus effect of setting arm_pm_idle for sama5 platforms. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NBoris Brezillon <boris.brezillon@free-electrons.com>
-
由 Alexandre Belloni 提交于
To avoid relying on at91_pmc_read(), find the pmc node and remap it locally. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NBoris Brezillon <boris.brezillon@free-electrons.com>
-
由 Alexandre Belloni 提交于
at91_pm_init() doesn't return a value, as is the case for its callers, simply call it instead of returning its non-existent return value. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NBoris Brezillon <boris.brezillon@free-electrons.com>
-
- 05 12月, 2015 1 次提交
-
-
由 Ludovic Desroches 提交于
Move the selection of the pinctrl driver to SoC family level since we have two pinctrl drivers. It is useless to select one which is not compatible with the SoC. [abelloni: fixed pm.c when only sama2d2 is selected] Signed-off-by: NLudovic Desroches <ludovic.desroches@atmel.com> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com>
-
- 05 9月, 2015 1 次提交
-
-
由 Vladimir Zapolskiy 提交于
This change modifies gen_pool_get() and devm_gen_pool_create() client interfaces adding one more argument "name" of a gen_pool object. Due to implementation gen_pool_get() is capable to retrieve only one gen_pool associated with a device even if multiple gen_pools are created, fortunately right at the moment it is sufficient for the clients, hence provide NULL as a valid argument on both producer devm_gen_pool_create() and consumer gen_pool_get() sides. Because only one created gen_pool per device is addressable, explicitly add a restriction to devm_gen_pool_create() to create only one gen_pool per device, this implies two possible error codes returned by the function, account it on client side (only misc/sram). This completes client side changes related to genalloc updates. [akpm@linux-foundation.org: gen_pool_get() cleanup] Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Russell King <linux@arm.linux.org.uk> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Shawn Guo <shawnguo@kernel.org> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 28 7月, 2015 1 次提交
-
-
由 Nicolas Pitre 提交于
Init data marked const should be annotated with __initconst for correctness and not __initdata. In some cases the array gathering references to that data has to be marked const as well. This fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: NNicolas Pitre <nico@linaro.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 01 7月, 2015 1 次提交
-
-
由 Vladimir Zapolskiy 提交于
To be consistent with other genalloc interface namings, rename dev_get_gen_pool() to gen_pool_get(). The original omitted "dev_" prefix is removed, since it points to argument type of the function, and so it does not bring any useful information. [akpm@linux-foundation.org: update arch/arm/mach-socfpga/pm.c] Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Cc: Vinod Koul <vinod.koul@intel.com> Cc: Takashi Iwai <tiwai@suse.de> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Mark Brown <broonie@kernel.org> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Alan Tull <atull@opensource.altera.com> Cc: Dinh Nguyen <dinguyen@opensource.altera.com> Cc: Kevin Hilman <khilman@linaro.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 20 5月, 2015 1 次提交
-
-
由 Alexandre Belloni 提交于
Use the defines from atmel-mc.h instead of at91rm9200_sdramc.h Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 06 4月, 2015 1 次提交
-
-
由 Alexandre Belloni 提交于
The standby functions are now only used in pm.c, move them there. Also, they are not inlined as a pointer to those functions is passed to the cpuidle driver. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 19 3月, 2015 2 次提交
-
-
由 Alexandre Belloni 提交于
hardware.h is now mostyl unused, move the remaining declarations to pm.c and remove it. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Alexandre Belloni 提交于
mach/cpu.h is not used anymore, remove it. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 13 3月, 2015 6 次提交
-
-
由 Wenyou Yang 提交于
Flush data cache, and clean, invalidate and disable the L2 cache before going to suspend. Restore the L2 cache configuration and re-enable the L2 cache after waking up. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: NSylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Wenyou Yang 提交于
Because the standby mode use the same sram function as the suspend to memory mode, void (*at91_pm_standby)(void) doesn't need, remove it. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Tested-by: NSylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Wenyou Yang 提交于
As the file name is renamed, rename the function name at91_slow_clock() --> at91_pm_suspend_sram_fn(), rename the function handler's name at the same time. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: NSylvain Rochet <sylvain.rochet@finsecur.com> [nicolas.ferre@atmel.com: little update of the commit message] Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Wenyou Yang 提交于
To simply the PM code, the suspend to standby mode uses same sram function as the suspend to memory mode, running in the internal SRAM, instead of the respective code for each mode. For the suspend to standby mode, the master clock doesn't switch to the slow clock, and PLLA and the main oscillator doesn't turn off as well. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Tested-by: NSylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Wenyou Yang 提交于
To decrease the suspend time, move copying the sram function to the sram initialization phase, instead of every time go to suspend. In the meanwhile, substitute fncpy() for memcpy(). If there is no sram allocated for PM, the PM is not supported. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: NSylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
由 Wenyou Yang 提交于
The slow clock always exists, selecting CONFIG_AT91_SLOW_CLOCK config is unnecessary for the suspend to memory mode. For this mode the master clock should always switch to the slow clock. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: NSylvain Rochet <sylvain.rochet@finsecur.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 12 3月, 2015 1 次提交
-
-
由 Wenyou Yang 提交于
Since at91_pm_set_standby() will not be used out of the pm.c file, change its attribute from extern to static, remove its declaration as well. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Acked-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 04 3月, 2015 1 次提交
-
-
由 Alexandre Belloni 提交于
On some platforms, there are multiple SRAM nodes defined in the device tree but some of them are disabled, leading to allocation failure. Try to find the first enabled SRAM node and allocate from it. Signed-off-by: NAlexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-
- 19 2月, 2015 1 次提交
-
-
由 Uwe Kleine-König 提交于
of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the non-const structs in arch/arm as const, too. While at it also add some __initconst annotations. Acked-by: NJason Cooper <jason@lakedameon.net> Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 02 2月, 2015 1 次提交
-
-
由 Nicolas Ferre 提交于
Remove the string "(Device Tree)" after the machine name because all AT91 machines use the DT nowadays. Also change some function names to unify following the convention: - at91sam9xxx aren't named sam9, 9xxx but with the full name - sama5 are the ones that don't have the at91 prefix anymore. Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
-