• Linus Torvalds's avatar
    Merge tag 'pm-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 02b82b02
    Linus Torvalds authored
    Pull power management updates from Rafael Wysocki:
     "These are mostly fixes and cleanups all over the code and a new piece
      of documentation for Intel uncore frequency scaling.
    
      Functionality-wise, the intel_idle driver will support Sapphire Rapids
      Xeons natively now (with some extra facilities for controlling
      C-states more precisely on those systems), virtual guests will take
      the ACPI S4 hardware signature into account by default, the
      intel_pstate driver will take the defualt EPP value from the firmware,
      cpupower utility will support the AMD P-state driver added in the
      previous cycle, and there is a new tracer utility for that driver.
    
      Specifics:
    
       - Allow device_pm_check_callbacks() to be called from interrupt
         context without issues (Dmitry Baryshkov).
    
       - Modify devm_pm_runtime_enable() to automatically handle
         pm_runtime_dont_use_autosuspend() at driver exit time (Douglas
         Anderson).
    
       - Make the schedutil cpufreq governor use to_gov_attr_set() instead
         of open coding it (Kevin Hao).
    
       - Replace acpi_bus_get_device() with acpi_fetch_acpi_dev() in the
         cpufreq longhaul driver (Rafael Wysocki).
    
       - Unify show() and store() naming in cpufreq and make it use
         __ATTR_XX (Lianjie Zhang).
    
       - Make the intel_pstate driver use the EPP value set by the firmware
         by default (Srinivas Pandruvada).
    
       - Re-order the init checks in the powernow-k8 cpufreq driver (Mario
         Limonciello).
    
       - Make the ACPI processor idle driver check for architectural support
         for LPI to avoid using it on x86 by mistake (Mario Limonciello).
    
       - Add Sapphire Rapids Xeon support to the intel_idle driver (Artem
         Bityutskiy).
    
       - Add 'preferred_cstates' module argument to the intel_idle driver to
         work around C1 and C1E handling issue on Sapphire Rapids (Artem
         Bityutskiy).
    
       - Add core C6 optimization on Sapphire Rapids to the intel_idle
         driver (Artem Bityutskiy).
    
       - Optimize the haltpoll cpuidle driver a bit (Li RongQing).
    
       - Remove leftover text from intel_idle() kerneldoc comment and fix up
         white space in intel_idle (Rafael Wysocki).
    
       - Fix load_image_and_restore() error path (Ye Bin).
    
       - Fix typos in comments in the system wakeup hadling code (Tom Rix).
    
       - Clean up non-kernel-doc comments in hibernation code (Jiapeng
         Chong).
    
       - Fix __setup handler error handling in system-wide suspend and
         hibernation core code (Randy Dunlap).
    
       - Add device name to suspend_report_result() (Youngjin Jang).
    
       - Make virtual guests honour ACPI S4 hardware signature by default
         (David Woodhouse).
    
       - Block power off of a parent PM domain unless child is in deepest
         state (Ulf Hansson).
    
       - Use dev_err_probe() to simplify error handling for generic PM
         domains (Ahmad Fatoum).
    
       - Fix sleep-in-atomic bug caused by genpd_debug_remove() (Shawn Guo).
    
       - Document Intel uncore frequency scaling (Srinivas Pandruvada).
    
       - Add DTPM hierarchy description (Daniel Lezcano).
    
       - Change the locking scheme in DTPM (Daniel Lezcano).
    
       - Fix dtpm_cpu cleanup at exit time and missing virtual DTPM pointer
         release (Daniel Lezcano).
    
       - Make dtpm_node_callback[] static (kernel test robot).
    
       - Fix spelling mistake "initialze" -> "initialize" in
         dtpm_create_hierarchy() (Colin Ian King).
    
       - Add tracer tool for the amd-pstate driver (Jinzhou Su).
    
       - Fix PC6 displaying in turbostat on some systems (Artem Bityutskiy).
    
       - Add AMD P-State support to the cpupower utility (Huang Rui)"
    
    * tag 'pm-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (58 commits)
      cpufreq: powernow-k8: Re-order the init checks
      cpuidle: intel_idle: Drop redundant backslash at line end
      cpuidle: intel_idle: Update intel_idle() kerneldoc comment
      PM: hibernate: Honour ACPI hardware signature by default for virtual guests
      cpufreq: intel_pstate: Use firmware default EPP
      cpufreq: unify show() and store() naming and use __ATTR_XX
      PM: core: keep irq flags in device_pm_check_callbacks()
      cpuidle: haltpoll: Call cpuidle_poll_state_init() later
      Documentation: amd-pstate: add tracer tool introduction
      tools/power/x86/amd_pstate_tracer: Add tracer tool for AMD P-state
      tools/power/x86/intel_pstate_tracer: make tracer as a module
      cpufreq: amd-pstate: Add more tracepoint for AMD P-State module
      PM: sleep: Add device name to suspend_report_result()
      turbostat: fix PC6 displaying on some systems
      intel_idle: add core C6 optimization for SPR
      intel_idle: add 'preferred_cstates' module argument
      intel_idle: add SPR support
      PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
      ACPI: processor idle: Check for architectural support for LPI
      cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function
      ...
    02b82b02
sleep.c 26 KB