1. 30 Nov, 2016 8 commits
  2. 25 Nov, 2016 2 commits
    • Thierry Reding's avatar
      drivers: psci: Allow PSCI node to be disabled · d09a0011
      Thierry Reding authored
      Allow disabling PSCI support (mostly for testing purposes) by setting
      the status property to "disabled". This makes the node behave in much
      the same way as proper device nodes.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      d09a0011
    • Kevin Brodsky's avatar
      drivers: psci: PSCI checker module · ea8b1c4a
      Kevin Brodsky authored
      On arm and arm64, PSCI is one of the possible firmware interfaces
      used for power management. This includes both turning CPUs on and off,
      and suspending them (entering idle states).
      
      This patch adds a PSCI checker module that enables basic testing of
      PSCI operations during startup. There are two main tests: CPU
      hotplugging and suspending.
      
      In the hotplug tests, the hotplug API is used to turn off and on again
      all CPUs in the system, and then all CPUs in each cluster, checking
      the consistency of the return codes.
      
      In the suspend tests, a high-priority thread is created on each core
      and uses low-level cpuidle functionalities to enter suspend, in all
      the possible states and multiple times. This should allow a maximum
      number of CPUs to enter the same sleep state at the same or slightly
      different time.
      
      In essence, the suspend tests use a principle similar to that of the
      intel_powerclamp driver (drivers/thermal/intel_powerclamp.c), but the
      threads are only kept for the duration of the test (they are already
      gone when userspace is started) and it does not require to stop/start
      the tick.
      
      While in theory power management PSCI functions (CPU_{ON,OFF,SUSPEND})
      could be directly called, this proved too difficult as it would imply
      the duplication of all the logic used by the kernel to allow for a
      clean shutdown/bringup/suspend of the CPU (the deepest sleep states
      implying potentially the shutdown of the CPU).
      
      Note that this file cannot be compiled as a loadable module, since it
      uses a number of non-exported identifiers (essentially for
      PSCI-specific checks and direct use of cpuidle) and relies on the
      absence of userspace to avoid races when calling hotplug and cpuidle
      functions.
      
      For now at least, CONFIG_PSCI_CHECKER is mutually exclusive with
      CONFIG_TORTURE_TEST, because torture tests may also use hotplug and
      cause false positives in the hotplug tests.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Kevin Hilman <khilman@kernel.org>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: James Morse <james.morse@arm.com>
      Cc: Sudeep Holla <sudeep.holla@arm.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Acked-by: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> [torture test config]
      Signed-off-by: default avatarKevin Brodsky <kevin.brodsky@arm.com>
      [lpieralisi: added cpuidle locking, reworded commit log/kconfig entry]
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      ea8b1c4a
  3. 23 Nov, 2016 10 commits
  4. 19 Nov, 2016 6 commits
  5. 18 Nov, 2016 14 commits