1. 31 8月, 2020 1 次提交
  2. 07 2月, 2018 2 次提交
  3. 09 1月, 2018 1 次提交
  4. 16 8月, 2017 1 次提交
  5. 26 1月, 2017 1 次提交
  6. 11 1月, 2017 1 次提交
  7. 26 11月, 2016 1 次提交
  8. 22 7月, 2016 1 次提交
  9. 26 4月, 2016 4 次提交
  10. 20 4月, 2016 1 次提交
  11. 11 2月, 2016 1 次提交
    • L
      ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware · 8b6f2499
      Lorenzo Pieralisi 提交于
      ARM64 PSCI kernel interfaces that initialize idle states and implement
      the suspend API to enter them are generic and can be shared with the
      ARM architecture.
      
      To achieve that goal, this patch moves ARM64 PSCI idle management
      code to drivers/firmware, so that the interface to initialize and
      enter idle states can actually be shared by ARM and ARM64 arches
      back-ends.
      
      The ARM generic CPUidle implementation also requires the definition of
      a cpuidle_ops section entry for the kernel to initialize the CPUidle
      operations at boot based on the enable-method (ie ARM64 has the
      statically initialized cpu_ops counterparts for that purpose); therefore
      this patch also adds the required section entry on CONFIG_ARM for PSCI so
      that the kernel can initialize the PSCI CPUidle back-end when PSCI is
      the probed enable-method.
      
      On ARM64 this patch provides no functional change.
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
      Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arch/arm64]
      Acked-by: NMark Rutland <mark.rutland@arm.com>
      Tested-by: NJisheng Zhang <jszhang@marvell.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Sudeep Holla <sudeep.holla@arm.com>
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Jisheng Zhang <jszhang@marvell.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      8b6f2499
  12. 05 1月, 2016 1 次提交
  13. 24 10月, 2015 1 次提交
    • L
      drivers: psci: make PSCI 1.0 functions initialization version dependent · 79b04beb
      Lorenzo Pieralisi 提交于
      The PSCI specifications [1] and the SMC calling convention mandate
      that unimplemented functions ids must return NOT_SUPPORTED (0xffffffff)
      if a function id is called but it is not implemented.
      
      Consequently, PSCI 1.0 function ids that require the 1.0 PSCI_FEATURES
      call to be initialized:
      
      CPU_SUSPEND (psci_init_cpu_suspend())
      SYSTEM_SUSPEND (psci_init_system_suspend())
      
      call the PSCI_FEATURES function id independently of the detected
      PSCI firmware version, since, if the PSCI_FEATURES function id is not
      implemented, it must return NOT_SUPPORTED according to the PSCI
      specifications, causing the initialization functions to fail as expected.
      
      Some existing PSCI implementations (ie Qemu PSCI emulation), do not
      comply with the SMC calling convention and fail if function ids that are
      not implemented are called from the OS, causing boot failures.
      
      To solve this issue, this patch adds code that checks the PSCI firmware
      version before calling PSCI 1.0 initialization functions so that the
      OS makes sure that it is calling 1.0 functions only if the firmware
      version detected is 1.0 or greater, therefore avoiding PSCI calls
      that are bound to fail and might cause system boot failures owing
      to non-compliant PSCI firmware implementations.
      
      [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdfSigned-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Tested-by: NKevin Hilman <khilman@kernel.org>
      Acked-by: NSudeep Holla <sudeep.holla@arm.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      79b04beb
  14. 02 10月, 2015 7 次提交
  15. 03 8月, 2015 2 次提交
  16. 27 7月, 2015 1 次提交
  17. 19 6月, 2015 1 次提交
  18. 12 6月, 2015 1 次提交
  19. 27 5月, 2015 6 次提交
  20. 19 5月, 2015 1 次提交
    • L
      ARM64: kernel: make cpu_ops hooks DT agnostic · 819a8826
      Lorenzo Pieralisi 提交于
      ARM64 CPU operations such as cpu_init and cpu_init_idle take
      a struct device_node pointer as a parameter, which corresponds to
      the device tree node of the logical cpu on which the operation
      has to be applied.
      
      With the advent of ACPI on arm64, where MADT static table entries
      are used to initialize cpus, the device tree node parameter
      in cpu_ops hooks become useless when booting with ACPI, since
      in that case cpu device tree nodes are not present and can not be
      used for cpu initialization.
      
      The current cpu_init hook requires a struct device_node pointer
      parameter because it is called while parsing the device tree to
      initialize CPUs, when the cpu_logical_map (that is used to match
      a cpu node reg property to a device tree node) for a given logical
      cpu id is not set up yet. This means that the cpu_init hook cannot
      rely on the of_get_cpu_node function to retrieve the device tree
      node corresponding to the logical cpu id passed in as parameter,
      so the cpu device tree node must be passed in as a parameter to fix
      this catch-22 dependency cycle.
      
      This patch reshuffles the cpu_logical_map initialization code so
      that the cpu_init cpu_ops hook can safely use the of_get_cpu_node
      function to retrieve the cpu device tree node, removing the need for
      the device tree node pointer parameter.
      
      In the process, the patch removes device tree node parameters
      from all cpu_ops hooks, in preparation for SMP DT/ACPI cpus
      initialization consolidation.
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Acked-by: NHanjun Guo <hanjun.guo@linaro.org>
      Acked-by: NSudeep Holla <sudeep.holla@arm.com>
      Acked-by: NMark Rutland <mark.rutland@arm.com>
      Tested-by: NHanjun Guo <hanjun.guo@linaro.org>
      Tested-by: Mark Rutland <mark.rutland@arm.com> [DT]
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      819a8826
  21. 26 3月, 2015 2 次提交
  22. 25 3月, 2015 1 次提交
  23. 27 2月, 2015 1 次提交
    • W
      arm64: psci: move psci firmware calls out of line · f5e0a12c
      Will Deacon 提交于
      An arm64 allmodconfig fails to build with GCC 5 due to __asmeq
      assertions in the PSCI firmware calling code firing due to mcount
      preambles breaking our assumptions about register allocation of function
      arguments:
      
        /tmp/ccDqJsJ6.s: Assembler messages:
        /tmp/ccDqJsJ6.s:60: Error: .err encountered
        /tmp/ccDqJsJ6.s:61: Error: .err encountered
        /tmp/ccDqJsJ6.s:62: Error: .err encountered
        /tmp/ccDqJsJ6.s:99: Error: .err encountered
        /tmp/ccDqJsJ6.s:100: Error: .err encountered
        /tmp/ccDqJsJ6.s:101: Error: .err encountered
      
      This patch fixes the issue by moving the PSCI calls out-of-line into
      their own assembly files, which are safe from the compiler's meddling
      fingers.
      Reported-by: NAndy Whitcroft <apw@canonical.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      f5e0a12c