30 Jul, 2020

1 commit

  • The combined build object for the PSCI cpuidle driver and the PSCI PM
    domain, is a bit messy. Therefore let's split it up by adding a new Kconfig
    ARM_PSCI_CPUIDLE_DOMAIN and convert into two separate objects.

    Reviewed-by: Lina Iyer
    Reviewed-by: Sudeep Holla
    Signed-off-by: Ulf Hansson
    Signed-off-by: Rafael J. Wysocki

    Ulf Hansson
     

26 May, 2020

1 commit

  • The Qualcomm SPM cpuidle driver seems to be the last driver still
    using the generic ARM CPUidle infrastructure.

    Converting it actually allows us to simplify the driver,
    and we end up being able to remove more lines than adding new ones:

    - We can parse the CPUidle states in the device tree directly
    with dt_idle_states (and don't need to duplicate that
    functionality into the spm driver).

    - Each "saw" device managed by the SPM driver now directly
    registers its own cpuidle driver, removing the need for
    any global (per cpu) state.

    The device tree binding is the same, so the driver stays
    compatible with all old device trees.

    Signed-off-by: Stephan Gerhold
    Reviewed-by: Lina Iyer
    Reviewed-by: Ulf Hansson
    Acked-by: Bjorn Andersson
    Signed-off-by: Rafael J. Wysocki

    Stephan Gerhold
     

13 Mar, 2020

1 commit

  • The driver's code is refactored in a way that will make it easy to
    support Tegra30/114/124 SoCs by this unified driver later on. The
    current functionality is equal to the old Tegra20 driver, only the
    code's structure changed a tad. This is also a proper platform driver
    now.

    Acked-by: Peter De Schrijver
    Signed-off-by: Dmitry Osipenko
    Acked-by: Daniel Lezcano
    Signed-off-by: Thierry Reding

    Dmitry Osipenko
     

15 Jan, 2020

1 commit


29 Nov, 2019

2 commits


10 Aug, 2019

2 commits

  • Allow selection of the PSCI CPUidle in the kernel by updating
    the respective Kconfig entry.

    Remove PSCI callbacks from ARM/ARM64 generic CPU ops
    to prevent the PSCI idle driver from clashing with the generic
    ARM CPUidle driver initialization, that relies on CPU ops
    to initialize and enter idle states.

    Signed-off-by: Lorenzo Pieralisi
    Reviewed-by: Ulf Hansson
    Cc: Will Deacon
    Cc: Ulf Hansson
    Cc: Sudeep Holla
    Cc: Daniel Lezcano
    Cc: Catalin Marinas
    Cc: Mark Rutland
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Will Deacon

    Lorenzo Pieralisi
     
  • PSCI firmware is the standard power management control for
    all ARM64 based platforms and it is also deployed on some
    ARM 32 bit platforms to date.

    Idle state entry in PSCI is currently achieved by calling
    arm_cpuidle_init() and arm_cpuidle_suspend() in a generic
    idle driver, which in turn relies on ARM/ARM64 CPUidle back-end
    to relay the call into PSCI firmware if PSCI is the boot method.

    Given that PSCI is the standard idle entry method on ARM64 systems
    (which means that no other CPUidle driver are expected on ARM64
    platforms - so PSCI is already a generic idle driver), in order to
    simplify idle entry and code maintenance, it makes sense to have a PSCI
    specific idle driver so that idle code that it is currently living in
    drivers/firmware directory can be hoisted out of it and moved
    where it belongs, into a full-fledged PSCI driver, leaving PSCI code
    in drivers/firmware as a pure firmware interface, as it should be.

    Implement a PSCI CPUidle driver. By default it is a silent Kconfig entry
    which is left unselected, since it selection would clash with the
    generic ARM CPUidle driver that provides a PSCI based idle driver
    through the arm/arm64 arches back-ends CPU operations.

    Signed-off-by: Lorenzo Pieralisi
    Acked-by: Daniel Lezcano
    Reviewed-by: Ulf Hansson
    Reviewed-by: Sudeep Holla
    Cc: Ulf Hansson
    Cc: Sudeep Holla
    Cc: Daniel Lezcano
    Cc: Mark Rutland
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Will Deacon

    Lorenzo Pieralisi
     

21 May, 2019

1 commit


24 Jun, 2017

1 commit

  • Some hardware have clusters with different idle states. The current code does
    not support this and fails as it expects all the idle states to be identical.

    Because of this, the Mediatek mtk8173 had to create the same idle state for a
    big.Little system and now the Hisilicon 960 is facing the same situation.

    Solve this by simply assuming the multiple driver will be needed for all the
    platforms using the ARM generic cpuidle driver which makes sense because of the
    different topologies we can support with a single kernel for ARM32 or ARM64.

    Every CPU has its own driver, so every single CPU can specify in the DT the
    idle states.

    This simple approach allows to support the future dynamIQ system, current SMP
    and HMP.

    Tested on:
    - 96boards: Hikey 620
    - 96boards: Hikey 960
    - 96boards: dragonboard410c
    - Mediatek 8173

    Tested-by: Leo Yan
    Signed-off-by: Daniel Lezcano
    Acked-by: Sudeep Holla
    Signed-off-by: Rafael J. Wysocki

    Daniel Lezcano
     

24 Mar, 2015

1 commit


30 Jan, 2015

1 commit

  • The following patch adds coupled cpuidle support for Exynos4210 to
    an existing cpuidle-exynos driver. As a result it enables AFTR mode
    to be used by default on Exynos4210 without the need to hot unplug
    CPU1 first.

    The patch is heavily based on earlier cpuidle-exynos4210 driver from
    Daniel Lezcano:

    http://www.spinics.net/lists/linux-samsung-soc/msg28134.html

    Changes from Daniel's code include:
    - porting code to current kernels
    - fixing it to work on my setup (by using S5P_INFORM register
    instead of S5P_VA_SYSRAM one on Revison 1.1 and retrying poking
    CPU1 out of the BOOT ROM if necessary)
    - fixing rare lockup caused by waiting for CPU1 to get stuck in
    the BOOT ROM (CPU hotplug code in arch/arm/mach-exynos/platsmp.c
    doesn't require this and works fine)
    - moving Exynos specific code to arch/arm/mach-exynos/pm.c
    - using cpu_boot_reg_base() helper instead of BOOT_VECTOR macro
    - using exynos_cpu_*() helpers instead of accessing registers
    directly
    - using arch_send_wakeup_ipi_mask() instead of dsb_sev()
    (this matches CPU hotplug code in arch/arm/mach-exynos/platsmp.c)
    - integrating separate exynos4210-cpuidle driver into existing
    exynos-cpuidle one

    Cc: Colin Cross
    Cc: Kukjin Kim
    Cc: Krzysztof Kozlowski
    Cc: Tomasz Figa
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Daniel Lezcano
    Acked-by: Kyungmin Park
    Signed-off-by: Kukjin Kim

    Bartlomiej Zolnierkiewicz
     

10 Oct, 2014

1 commit

  • Pull ACPI and power management updates from Rafael Wysocki:
    "Features-wise, to me the most important this time is a rework of
    wakeup interrupts handling in the core that makes them work
    consistently across all of the available sleep states, including
    suspend-to-idle. Many thanks to Thomas Gleixner for his help with
    this work.

    Second is an update of the generic PM domains code that has been in
    need of some care for quite a while. Unused code is being removed, DT
    support is being added and domains are now going to be attached to
    devices in bus type code in analogy with the ACPI PM domain. The
    majority of work here was done by Ulf Hansson who also has been the
    most active developer this time.

    Apart from this we have a traditional ACPICA update, this time to
    upstream version 20140828 and a few ACPI wakeup interrupts handling
    patches on top of the general rework mentioned above. There also are
    several cpufreq commits including renaming the cpufreq-cpu0 driver to
    cpufreq-dt, as this is what implements generic DT-based cpufreq
    support, and a new DT-based idle states infrastructure for cpuidle.

    In addition to that, the ACPI LPSS driver is updated, ACPI support for
    Apple machines is improved, a few bugs are fixed and a few cleanups
    are made all over.

    Finally, the Adaptive Voltage Scaling (AVS) subsystem now has a tree
    maintained by Kevin Hilman that will be merged through the PM tree.

    Numbers-wise, the generic PM domains update takes the lead this time
    with 32 non-merge commits, second is cpufreq (15 commits) and the 3rd
    place goes to the wakeup interrupts handling rework (13 commits).

    Specifics:

    - Rework the handling of wakeup IRQs by the IRQ core such that all of
    them will be switched over to "wakeup" mode in suspend_device_irqs()
    and in that mode the first interrupt will abort system suspend in
    progress or wake up the system if already in suspend-to-idle (or
    equivalent) without executing any interrupt handlers. Among other
    things that eliminates the wakeup-related motivation to use the
    IRQF_NO_SUSPEND interrupt flag with interrupts which don't really
    need it and should not use it (Thomas Gleixner and Rafael Wysocki)

    - Switch over ACPI to handling wakeup interrupts with the help of the
    new mechanism introduced by the above IRQ core rework (Rafael Wysocki)

    - Rework the core generic PM domains code to eliminate code that's
    not used, add DT support and add a generic mechanism by which
    devices can be added to PM domains automatically during enumeration
    (Ulf Hansson, Geert Uytterhoeven and Tomasz Figa).

    - Add debugfs-based mechanics for debugging generic PM domains
    (Maciej Matraszek).

    - ACPICA update to upstream version 20140828. Included are updates
    related to the SRAT and GTDT tables and the _PSx methods are in the
    METHOD_NAME list now (Bob Moore and Hanjun Guo).

    - Add _OSI("Darwin") support to the ACPI core (unfortunately, that
    can't really be done in a straightforward way) to prevent
    Thunderbolt from being turned off on Apple systems after boot (or
    after resume from system suspend) and rework the ACPI Smart Battery
    Subsystem (SBS) driver to work correctly with Apple platforms
    (Matthew Garrett and Andreas Noever).

    - ACPI LPSS (Low-Power Subsystem) driver update cleaning up the code,
    adding support for 133MHz I2C source clock on Intel Baytrail to it
    and making it avoid using UART RTS override with Auto Flow Control
    (Heikki Krogerus).

    - ACPI backlight updates removing the video_set_use_native_backlight
    quirk which is not necessary any more, making the code check the
    list of output devices returned by the _DOD method to avoid
    creating acpi_video interfaces that won't work and adding a quirk
    for Lenovo Ideapad Z570 (Hans de Goede, Aaron Lu and Stepan Bujnak)

    - New Win8 ACPI OSI quirks for some Dell laptops (Edward Lin)

    - Assorted ACPI code cleanups (Fabian Frederick, Rasmus Villemoes,
    Sudip Mukherjee, Yijing Wang, and Zhang Rui)

    - cpufreq core updates and cleanups (Viresh Kumar, Preeti U Murthy,
    Rasmus Villemoes)

    - cpufreq driver updates: cpufreq-cpu0/cpufreq-dt (driver name change
    among other things), ppc-corenet, powernv (Viresh Kumar, Preeti U
    Murthy, Shilpasri G Bhat, Lucas Stach)

    - cpuidle support for DT-based idle states infrastructure, new ARM64
    cpuidle driver, cpuidle core cleanups (Lorenzo Pieralisi, Rasmus
    Villemoes)

    - ARM big.LITTLE cpuidle driver updates: support for DT-based
    initialization and Exynos5800 compatible string (Lorenzo Pieralisi,
    Kevin Hilman)

    - Rework of the test_suspend kernel command line argument and a new
    trace event for console resume (Srinivas Pandruvada, Todd E Brandt)

    - Second attempt to optimize swsusp_free() (hibernation core) to make
    it avoid going through all PFNs which may be way too slow on some
    systems (Joerg Roedel)

    - devfreq updates (Paul Bolle, Punit Agrawal, Ãrjan Eide).

    - rockchip-io Adaptive Voltage Scaling (AVS) driver and AVS entry
    update in MAINTAINERS (Heiko Stübner, Kevin Hilman)

    - PM core fix related to clock management (Geert Uytterhoeven)

    - PM core's sysfs code cleanup (Johannes Berg)"

    * tag 'pm+acpi-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (105 commits)
    ACPI / fan: printk replacement
    PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME
    PM / Domains: Rename cpu_data to cpuidle_data
    cpufreq: cpufreq-dt: fix potential double put of cpu OF node
    cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'
    PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free()
    cpufreq: ppc-corenet: remove duplicate update of cpu_data
    ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle
    PM / sleep: Rename platform suspend/resume functions in suspend.c
    PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq()
    ACPICA: Introduce acpi_enable_all_wakeup_gpes()
    ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block()
    ACPI / video: check _DOD list when creating backlight devices
    PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h
    cpufreq: Replace strnicmp with strncasecmp
    cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec
    cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum
    cpufreq: Allow stop CPU callback to be used by all cpufreq drivers
    PM / devfreq: exynos: Enable building exynos PPMU as module
    PM / devfreq: Export helper functions for drivers
    ...

    Linus Torvalds
     

25 Sep, 2014

1 commit

  • With the introduction of DT based idle states, CPUidle drivers for ARM
    can now initialize idle states data through properties in the device tree.

    This patch adds code to the big.LITTLE CPUidle driver to dynamically
    initialize idle states data through the updated device tree source file.

    Cc: Chander Kashyap
    Acked-by: Catalin Marinas
    Acked-by: Daniel Lezcano
    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Daniel Lezcano

    Lorenzo Pieralisi
     

09 Sep, 2014

1 commit

  • mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu.
    Use MACH_KIRKWOOD, which is set when kirkwood is built as part of
    mach-mvebu.

    Signed-off-by: Andrew Lunn
    Cc: Daniel Lezcano
    Cc: Rafael J. Wysocki
    Cc: linux-pm@vger.kernel.org
    Acked-by: Daniel Lezcano
    Acked-by: Rafael J. Wysocki
    Link: https://lkml.kernel.org/r/1409417172-6846-2-git-send-email-andrew@lunn.ch
    Signed-off-by: Jason Cooper

    Andrew Lunn
     

09 Aug, 2014

1 commit

  • Pull ARM SoC platform changes from Olof Johansson:
    "This is the bulk of new SoC enablement and other platform changes for
    3.17:

    - Samsung S5PV210 has been converted to DT and multiplatform
    - Clock drivers and bindings for some of the lower-end i.MX 1/2
    platforms
    - Kirkwood, one of the popular Marvell platforms, is folded into the
    mvebu platform code, removing mach-kirkwood
    - Hwmod data for TI AM43xx and DRA7 platforms
    - More additions of Renesas shmobile platform support
    - Removal of plat-samsung contents that can be removed with S5PV210
    being multiplatform/DT-enabled and the other two old platforms
    being removed

    New platforms (most with only basic support right now):

    - Hisilicon X5HD2 settop box chipset is introduced
    - Mediatek MT6589 (mobile chipset) is introduced
    - Broadcom BCM7xxx settop box chipset is introduced

    + as usual a lot other pieces all over the platform code"

    * tag 'soc-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (240 commits)
    ARM: hisi: remove smp from machine descriptor
    power: reset: move hisilicon reboot code
    ARM: dts: Add hix5hd2-dkb dts file.
    ARM: debug: Rename Hi3716 to HIX5HD2
    ARM: hisi: enable hix5hd2 SoC
    ARM: hisi: add ARCH_HISI
    MAINTAINERS: add entry for Broadcom ARM STB architecture
    ARM: brcmstb: select GISB arbiter and interrupt drivers
    ARM: brcmstb: add infrastructure for ARM-based Broadcom STB SoCs
    ARM: configs: enable SMP in bcm_defconfig
    ARM: add SMP support for Broadcom mobile SoCs
    Documentation: arm: misc updates to Marvell EBU SoC status
    Documentation: arm: add URLs to public datasheets for the Marvell Armada XP SoC
    ARM: mvebu: fix build without platforms selected
    ARM: mvebu: add cpuidle support for Armada 38x
    ARM: mvebu: add cpuidle support for Armada 370
    cpuidle: mvebu: add Armada 38x support
    cpuidle: mvebu: add Armada 370 support
    cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7
    ARM: mvebu: export the SCU address
    ...

    Linus Torvalds
     

29 Jul, 2014

1 commit

  • big_little CPU idle driver references functions defined in MCPM driver.
    Thus make it depend on MCPM to avoid the following errors:

    drivers/built-in.o: In function `bl_enter_powerdown':
    drivers/cpuidle/cpuidle-big_little.c:134: undefined reference to `mcpm_cpu_powered_up'
    drivers/built-in.o: In function `bl_powerdown_finisher':
    drivers/cpuidle/cpuidle-big_little.c:104: undefined reference to `mcpm_set_entry_vector'
    drivers/cpuidle/cpuidle-big_little.c:111: undefined reference to `mcpm_cpu_suspend'
    make: *** [vmlinux] Error 1

    Reported-by: Andreas Färber
    Signed-off-by: Sachin Kamat
    Signed-off-by: Rafael J. Wysocki

    Sachin Kamat
     

27 Jul, 2014

1 commit

  • Merge "mvebu SoC changes for v3.17 (round 4)" from Jason Cooper:

    - Armada XP
    - Fix return value check in pmsu code
    - Document URLs for new public datasheets (Thanks, Marvell & free-electrons!)

    - Armada 370/38x
    - Add cpuidle support

    - mvebu
    - Fix build when no platforms are selected
    - Update EBU SoC status in docs

    * tag 'mvebu-soc-3.17-4' of git://git.infradead.org/linux-mvebu: (21 commits)
    Documentation: arm: misc updates to Marvell EBU SoC status
    Documentation: arm: add URLs to public datasheets for the Marvell Armada XP SoC
    ARM: mvebu: fix build without platforms selected
    ARM: mvebu: add cpuidle support for Armada 38x
    ARM: mvebu: add cpuidle support for Armada 370
    cpuidle: mvebu: add Armada 38x support
    cpuidle: mvebu: add Armada 370 support
    cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7
    ARM: mvebu: export the SCU address
    ARM: mvebu: make the snoop disabling optional in mvebu_v7_pmsu_idle_prepare()
    ARM: mvebu: use a local variable to store the resume address
    ARM: mvebu: make the cpuidle initialization more generic
    ARM: mvebu: rename the armada_370_xp symbols to mvebu_v7 in pmsu.c
    ARM: mvebu: use the common function for Armada 375 SMP workaround
    ARM: mvebu: add a common function for the boot address work around
    ARM: mvebu: sort the #include of pmsu.c in alphabetic order
    ARM: mvebu: split again armada_370_xp_pmsu_idle_enter() in PMSU code
    ARM: mvebu: fix return value check in armada_xp_pmsu_cpufreq_init()
    clk: mvebu: extend clk-cpu for dynamic frequency scaling
    ARM: mvebu: extend PMSU code to support dynamic frequency scaling
    ...

    Conflicts:
    arch/arm/mach-mvebu/Kconfig
    drivers/cpuidle/cpuidle-armada-370-xp.c

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

24 Jul, 2014

1 commit

  • This driver will be able to manage the cpuidle for more SoCs than just
    Armada 370 and XP. It will also support Armada 38x and potentially
    other SoC of the Marvell Armada EBU family. To take this into account,
    this patch renames the driver and its symbols.

    It also changes the driver name from cpuidle-armada-370-xp to
    cpuidle-armada-xp, because separate platform drivers will be
    registered for the other SoC types. This change must be done
    simultaneously in the cpuidle driver and in the PMSU code in order to
    remain bisectable.

    Signed-off-by: Gregory CLEMENT
    Signed-off-by: Thomas Petazzoni
    Acked-by: Daniel Lezcano
    Link: https://lkml.kernel.org/r/1406120453-29291-12-git-send-email-thomas.petazzoni@free-electrons.com
    Signed-off-by: Jason Cooper

    Gregory CLEMENT
     

19 Jul, 2014

1 commit


04 Jun, 2014

1 commit

  • …fael/linux-pm into next

    Pull ACPI and power management updates from Rafael Wysocki:
    "ACPICA is the leader this time (63 commits), followed by cpufreq (28
    commits), devfreq (15 commits), system suspend/hibernation (12
    commits), ACPI video and ACPI device enumeration (10 commits each).

    We have no major new features this time, but there are a few
    significant changes of how things work. The most visible one will
    probably be that we are now going to create platform devices rather
    than PNP devices by default for ACPI device objects with _HID. That
    was long overdue and will be really necessary to be able to use the
    same drivers for the same hardware blocks on ACPI and DT-based systems
    going forward. We're not expecting fallout from this one (as usual),
    but it's something to watch nevertheless.

    The second change having a chance to be visible is that ACPI video
    will now default to using native backlight rather than the ACPI
    backlight interface which should generally help systems with broken
    Win8 BIOSes. We're hoping that all problems with the native backlight
    handling that we had previously have been addressed and we are in a
    good enough shape to flip the default, but this change should be easy
    enough to revert if need be.

    In addition to that, the system suspend core has a new mechanism to
    allow runtime-suspended devices to stay suspended throughout system
    suspend/resume transitions if some extra conditions are met
    (generally, they are related to coordination within device hierarchy).
    However, enabling this feature requires cooperation from the bus type
    layer and for now it has only been implemented for the ACPI PM domain
    (used by ACPI-enumerated platform devices mostly today).

    Also, the acpidump utility that was previously shipped as a separate
    tool will now be provided by the upstream ACPICA along with the rest
    of ACPICA code, which will allow it to be more up to date and better
    supported, and we have one new cpuidle driver (ARM clps711x).

    The rest is improvements related to certain specific use cases,
    cleanups and fixes all over the place.

    Specifics:

    - ACPICA update to upstream version 20140424. That includes a number
    of fixes and improvements related to things like GPE handling,
    table loading, headers, memory mapping and unmapping, DSDT/SSDT
    overriding, and the Unload() operator. The acpidump utility from
    upstream ACPICA is included too. From Bob Moore, Lv Zheng, David
    Box, David Binderman, and Colin Ian King.

    - Fixes and cleanups related to ACPI video and backlight interfaces
    from Hans de Goede. That includes blacklist entries for some new
    machines and using native backlight by default.

    - ACPI device enumeration changes to create platform devices rather
    than PNP devices for ACPI device objects with _HID by default. PNP
    devices will still be created for the ACPI device object with
    device IDs corresponding to real PNP devices, so that change should
    not break things left and right, and we're expecting to see more
    and more ACPI-enumerated platform devices in the future. From
    Zhang Rui and Rafael J Wysocki.

    - Updates for the ACPI LPSS (Low-Power Subsystem) driver allowing it
    to handle system suspend/resume on Asus T100 correctly. From
    Heikki Krogerus and Rafael J Wysocki.

    - PM core update introducing a mechanism to allow runtime-suspended
    devices to stay suspended over system suspend/resume transitions if
    certain additional conditions related to coordination within device
    hierarchy are met. Related PM documentation update and ACPI PM
    domain support for the new feature. From Rafael J Wysocki.

    - Fixes and improvements related to the "freeze" sleep state. They
    affect several places including cpuidle, PM core, ACPI core, and
    the ACPI battery driver. From Rafael J Wysocki and Zhang Rui.

    - Miscellaneous fixes and updates of the ACPI core from Aaron Lu,
    Bjørn Mork, Hanjun Guo, Lan Tianyu, and Rafael J Wysocki.

    - Fixes and cleanups for the ACPI processor and ACPI PAD (Processor
    Aggregator Device) drivers from Baoquan He, Manuel Schölling, Tony
    Camuso, and Toshi Kani.

    - System suspend/resume optimization in the ACPI battery driver from
    Lan Tianyu.

    - OPP (Operating Performance Points) subsystem updates from Chander
    Kashyap, Mark Brown, and Nishanth Menon.

    - cpufreq core fixes, updates and cleanups from Srivatsa S Bhat,
    Stratos Karafotis, and Viresh Kumar.

    - Updates, fixes and cleanups for the Tegra, powernow-k8, imx6q,
    s5pv210, nforce2, and powernv cpufreq drivers from Brian Norris,
    Jingoo Han, Paul Bolle, Philipp Zabel, Stratos Karafotis, and
    Viresh Kumar.

    - intel_pstate driver fixes and cleanups from Dirk Brandewie, Doug
    Smythies, and Stratos Karafotis.

    - Enabling the big.LITTLE cpufreq driver on arm64 from Mark Brown.

    - Fix for the cpuidle menu governor from Chander Kashyap.

    - New ARM clps711x cpuidle driver from Alexander Shiyan.

    - Hibernate core fixes and cleanups from Chen Gang, Dan Carpenter,
    Fabian Frederick, Pali Rohár, and Sebastian Capella.

    - Intel RAPL (Running Average Power Limit) driver updates from Jacob
    Pan.

    - PNP subsystem updates from Bjorn Helgaas and Fabian Frederick.

    - devfreq core updates from Chanwoo Choi and Paul Bolle.

    - devfreq updates for exynos4 and exynos5 from Chanwoo Choi and
    Bartlomiej Zolnierkiewicz.

    - turbostat tool fix from Jean Delvare.

    - cpupower tool updates from Prarit Bhargava, Ramkumar Ramachandra
    and Thomas Renninger.

    - New ACPI ec_access.c tool for poking at the EC in a safe way from
    Thomas Renninger"

    * tag 'pm+acpi-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (187 commits)
    ACPICA: Namespace: Remove _PRP method support.
    intel_pstate: Improve initial busy calculation
    intel_pstate: add sample time scaling
    intel_pstate: Correct rounding in busy calculation
    intel_pstate: Remove C0 tracking
    PM / hibernate: fixed typo in comment
    ACPI: Fix x86 regression related to early mapping size limitation
    ACPICA: Tables: Add mechanism to control early table checksum verification.
    ACPI / scan: use platform bus type by default for _HID enumeration
    ACPI / scan: always register ACPI LPSS scan handler
    ACPI / scan: always register memory hotplug scan handler
    ACPI / scan: always register container scan handler
    ACPI / scan: Change the meaning of missing .attach() in scan handlers
    ACPI / scan: introduce platform_id device PNP type flag
    ACPI / scan: drop unsupported serial IDs from PNP ACPI scan handler ID list
    ACPI / scan: drop IDs that do not comply with the ACPI PNP ID rule
    ACPI / PNP: use device ID list for PNPACPI device enumeration
    ACPI / scan: .match() callback for ACPI scan handlers
    ACPI / battery: wakeup the system only when necessary
    power_supply: allow power supply devices registered w/o wakeup source
    ...

    Linus Torvalds
     

03 Jun, 2014

1 commit

  • Pull ARM SoC driver changes from Olof Johansson:
    "SoC-near driver changes that we're merging through our tree. Mostly
    because they depend on other changes we have staged, but in some cases
    because the driver maintainers preferred that we did it this way.

    This contains a largeish cleanup series of the omap_l3_noc bus driver,
    cpuidle rework for Exynos, some reset driver conversions and a long
    branch of TI EDMA fixes and cleanups, with more to come next release.

    The TI EDMA cleanups is a shared branch with the dmaengine tree, with
    a handful of Davinci-specific fixes on top.

    After discussion at last year's KS (and some more on the mailing
    lists), we are here adding a drivers/soc directory. The purpose of
    this is to keep per-vendor shared code that's needed by different
    drivers but that doesn't fit into the MFD (nor drivers/platform)
    model. We expect to keep merging contents for this hierarchy through
    arm-soc so we can keep an eye on what the vendors keep adding here and
    not making it a free-for-all to shove in crazy stuff"

    * tag 'drivers-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (101 commits)
    cpufreq: exynos: Fix driver compilation with ARCH_MULTIPLATFORM
    tty: serial: msm: Remove direct access to GSBI
    power: reset: keystone-reset: introduce keystone reset driver
    Documentation: dt: add bindings for keystone pll control controller
    Documentation: dt: add bindings for keystone reset driver
    soc: qcom: fix of_device_id table
    ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos
    ARM: EXYNOS: Move the driver to drivers/cpuidle directory
    ARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c
    ARM: EXYNOS: Pass the AFTR callback to the platform_data
    ARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c
    ARM: EXYNOS: Move the power sequence call in the cpu_pm notifier
    ARM: EXYNOS: Move the AFTR state function into pm.c
    ARM: EXYNOS: Encapsulate the AFTR code into a function
    ARM: EXYNOS: Disable cpuidle for exynos5440
    ARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle
    ARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle
    ARM: EXYNOS: Remove ifdef for scu_enable in pm
    ARM: EXYNOS: Move scu_enable in the cpu_pm notifier
    ARM: EXYNOS: Use the cpu_pm notifier for pm
    ...

    Linus Torvalds
     

26 May, 2014

1 commit


09 May, 2014

1 commit

  • Add the wfi, cpu idle and cpu deep idle power states support for the
    Armada XP SoCs.

    All the latencies and the power consumption values used at the
    "armada_370_xp_idle_driver" structure are preliminary and will be
    modified in the future after running some measurements and analysis.

    Based on the work of Nadav Haklai.

    Signed-off-by: Nadav Haklai
    Link: https://lkml.kernel.org/r/1397488214-20685-11-git-send-email-gregory.clement@free-electrons.com
    Signed-off-by: Gregory CLEMENT
    Link: https://lkml.kernel.org/r/1397488214-20685-11-git-send-email-gregory.clement@free-electrons.com
    Acked-by: Daniel Lezcano
    Signed-off-by: Jason Cooper

    Gregory CLEMENT
     

30 Apr, 2014

1 commit

  • Add cpuidle support for ARM Cirrus Logic CLPS711X CPUs.
    This CPU has an unique internal register and write to this location
    will put the system into the Idle State by halting the clock to the
    processor until an interrupt is generated.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Daniel Lezcano

    Alexander Shiyan
     

25 Feb, 2014

1 commit

  • With the move of kirkwood into mach-mvebu, drivers Kconfig need
    tweeking to allow the kirkwood specific drivers to be built.

    Signed-off-by: Andrew Lunn
    Acked-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Kishon Vijay Abraham I
    Acked-by: Daniel Lezcano
    Acked-by: Viresh Kumar
    Tested-by: Jason Gunthorpe
    Cc: Viresh Kumar
    Cc: Rafael J. Wysocki
    Cc: Richard Purdie
    Cc: Bryan Wu
    Cc: Zhang Rui
    Cc: Eduardo Valentin
    Signed-off-by: Jason Cooper

    Andrew Lunn
     

14 Nov, 2013

1 commit

  • Pull ACPI and power management updates from Rafael J Wysocki:

    - New power capping framework and the the Intel Running Average Power
    Limit (RAPL) driver using it from Srinivas Pandruvada and Jacob Pan.

    - Addition of the in-kernel switching feature to the arm_big_little
    cpufreq driver from Viresh Kumar and Nicolas Pitre.

    - cpufreq support for iMac G5 from Aaro Koskinen.

    - Baytrail processors support for intel_pstate from Dirk Brandewie.

    - cpufreq support for Midway/ECX-2000 from Mark Langsdorf.

    - ARM vexpress/TC2 cpufreq support from Sudeep KarkadaNagesha.

    - ACPI power management support for the I2C and SPI bus types from Mika
    Westerberg and Lv Zheng.

    - cpufreq core fixes and cleanups from Viresh Kumar, Srivatsa S Bhat,
    Stratos Karafotis, Xiaoguang Chen, Lan Tianyu.

    - cpufreq drivers updates (mostly fixes and cleanups) from Viresh
    Kumar, Aaro Koskinen, Jungseok Lee, Sudeep KarkadaNagesha, Lukasz
    Majewski, Manish Badarkhe, Hans-Christian Egtvedt, Evgeny Kapaev.

    - intel_pstate updates from Dirk Brandewie and Adrian Huang.

    - ACPICA update to version 20130927 includig fixes and cleanups and
    some reduction of divergences between the ACPICA code in the kernel
    and ACPICA upstream in order to improve the automatic ACPICA patch
    generation process. From Bob Moore, Lv Zheng, Tomasz Nowicki, Naresh
    Bhat, Bjorn Helgaas, David E Box.

    - ACPI IPMI driver fixes and cleanups from Lv Zheng.

    - ACPI hotplug fixes and cleanups from Bjorn Helgaas, Toshi Kani, Zhang
    Yanfei, Rafael J Wysocki.

    - Conversion of the ACPI AC driver to the platform bus type and
    multiple driver fixes and cleanups related to ACPI from Zhang Rui.

    - ACPI processor driver fixes and cleanups from Hanjun Guo, Jiang Liu,
    Bartlomiej Zolnierkiewicz, Mathieu Rhéaume, Rafael J Wysocki.

    - Fixes and cleanups and new blacklist entries related to the ACPI
    video support from Aaron Lu, Felipe Contreras, Lennart Poettering,
    Kirill Tkhai.

    - cpuidle core cleanups from Viresh Kumar and Lorenzo Pieralisi.

    - cpuidle drivers fixes and cleanups from Daniel Lezcano, Jingoo Han,
    Bartlomiej Zolnierkiewicz, Prarit Bhargava.

    - devfreq updates from Sachin Kamat, Dan Carpenter, Manish Badarkhe.

    - Operation Performance Points (OPP) core updates from Nishanth Menon.

    - Runtime power management core fix from Rafael J Wysocki and update
    from Ulf Hansson.

    - Hibernation fixes from Aaron Lu and Rafael J Wysocki.

    - Device suspend/resume lockup detection mechanism from Benoit Goby.

    - Removal of unused proc directories created for various ACPI drivers
    from Lan Tianyu.

    - ACPI LPSS driver fix and new device IDs for the ACPI platform scan
    handler from Heikki Krogerus and Jarkko Nikula.

    - New ACPI _OSI blacklist entry for Toshiba NB100 from Levente Kurusa.

    - Assorted fixes and cleanups related to ACPI from Andy Shevchenko, Al
    Stone, Bartlomiej Zolnierkiewicz, Colin Ian King, Dan Carpenter,
    Felipe Contreras, Jianguo Wu, Lan Tianyu, Yinghai Lu, Mathias Krause,
    Liu Chuansheng.

    - Assorted PM fixes and cleanups from Andy Shevchenko, Thierry Reding,
    Jean-Christophe Plagniol-Villard.

    * tag 'pm+acpi-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (386 commits)
    cpufreq: conservative: fix requested_freq reduction issue
    ACPI / hotplug: Consolidate deferred execution of ACPI hotplug routines
    PM / runtime: Use pm_runtime_put_sync() in __device_release_driver()
    ACPI / event: remove unneeded NULL pointer check
    Revert "ACPI / video: Ignore BIOS initial backlight value for HP 250 G1"
    ACPI / video: Quirk initial backlight level 0
    ACPI / video: Fix initial level validity test
    intel_pstate: skip the driver if ACPI has power mgmt option
    PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
    ACPI / hotplug: Do not execute "insert in progress" _OST
    ACPI / hotplug: Carry out PCI root eject directly
    ACPI / hotplug: Merge device hot-removal routines
    ACPI / hotplug: Make acpi_bus_hot_remove_device() internal
    ACPI / hotplug: Simplify device ejection routines
    ACPI / hotplug: Fix handle_root_bridge_removal()
    ACPI / hotplug: Refuse to hot-remove all objects with disabled hotplug
    ACPI / scan: Start matching drivers after trying scan handlers
    ACPI: Remove acpi_pci_slot_init() headers from internal.h
    ACPI / blacklist: fix name of ThinkPad Edge E530
    PowerCap: Fix build error with option -Werror=format-security
    ...

    Conflicts:
    arch/arm/mach-omap2/opp.c
    drivers/Kconfig
    drivers/spi/spi.c

    Linus Torvalds
     

17 Oct, 2013

1 commit

  • As the cpuidle driver code has no more the dependency with the pm code, the
    'standby' callback being passed as a parameter to the device's platform data,
    we can move the cpuidle driver in the drivers/cpuidle directory.

    Signed-off-by: Daniel Lezcano
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Nicolas Ferre

    Conflicts:

    drivers/cpuidle/Kconfig.arm
    drivers/cpuidle/Makefile

    Daniel Lezcano
     

07 Oct, 2013

1 commit

  • Following the reorganization of CPU idle drivers configurations into an ARM
    specific Kconfig, the existing idle drivers Kconfig entries were renamed and
    moved to the Kconfig.arm file. Makefile entries were updated accordingly.

    This patch renames the entries in Kconfig.arm and makefile to make the newly
    added big.LITTLE CPUidle driver compliant with the new naming convention.

    Signed-off-by: Lorenzo Pieralisi
    Acked-by: Kevin Hilman
    Signed-off-by: Daniel Lezcano

    Lorenzo Pieralisi
     

02 Oct, 2013

1 commit

  • This updates the Calxeda cpuidle driver to use PSCI calls to powergate
    cores. This also enables cpuidle for the ECX-2000.

    This could possibly become a generic PSCI driver, but there are no other
    PSCI users in the kernel other than mach-virt.

    Signed-off-by: Rob Herring
    Cc: "Rafael J. Wysocki"
    Acked-by: Daniel Lezcano
    Cc: linux-pm@vger.kernel.org

    Rob Herring
     

10 Sep, 2013

1 commit

  • Pull ARM SoC driver update from Kevin Hilman:
    "This contains the ARM SoC related driver updates for v3.12. The only
    thing this cycle are core PM updates and CPUidle support for ARM's TC2
    big.LITTLE development platform"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    cpuidle: big.LITTLE: vexpress-TC2 CPU idle driver
    ARM: vexpress: tc2: disable GIC CPU IF in tc2_pm_suspend
    drivers: irq-chip: irq-gic: introduce gic_cpu_if_down()

    Linus Torvalds
     

27 Jul, 2013

2 commits