• Linus Torvalds's avatar
    Merge tag 'pm-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7da71072
    Linus Torvalds authored
    Pull power management updates from Rafael Wysocki:
     "These add support for new processors (Sierra Forest, Grand Ridge and
      Meteor Lake) to the intel_idle driver, make intel_pstate run on
      Emerald Rapids without HWP support and adjust it to utilize EPP values
      supplied by the platform firmware, fix issues, clean up code and
      improve documentation.
    
      The most significant fix addresses deadlocks in the core system-wide
      resume code that occur if async_schedule_dev() attempts to run its
      argument function synchronously (for example, due to a memory
      allocation failure). It rearranges the code in question which may
      increase the system resume time in some cases, but this basically is a
      removal of a premature optimization. That optimization will be added
      back later, but properly this time.
    
      Specifics:
    
       - Add support for the Sierra Forest, Grand Ridge and Meteorlake SoCs
         to the intel_idle cpuidle driver (Artem Bityutskiy, Zhang Rui)
    
       - Do not enable interrupts when entering idle in the haltpoll cpuidle
         driver (Borislav Petkov)
    
       - Add Emerald Rapids support in no-HWP mode to the intel_pstate
         cpufreq driver (Zhenguo Yao)
    
       - Use EPP values programmed by the platform firmware as balanced
         performance ones by default in intel_pstate (Srinivas Pandruvada)
    
       - Add a missing function return value check to the SCMI cpufreq
         driver to avoid unexpected behavior (Alexandra Diupina)
    
       - Fix parameter type warning in the armada-8k cpufreq driver (Gregory
         CLEMENT)
    
       - Rework trans_stat_show() in the devfreq core code to avoid buffer
         overflows (Christian Marangi)
    
       - Synchronize devfreq_monitor_[start/stop] so as to prevent a timer
         list corruption from occurring when devfreq governors are switched
         frequently (Mukesh Ojha)
    
       - Fix possible deadlocks in the core system-wide PM code that occur
         if device-handling functions cannot be executed asynchronously
         during resume from system-wide suspend (Rafael J. Wysocki)
    
       - Clean up unnecessary local variable initializations in multiple
         places in the hibernation code (Wang chaodong, Li zeming)
    
       - Adjust core hibernation code to avoid missing wakeup events that
         occur after saving an image to persistent storage (Chris Feng)
    
       - Update hibernation code to enforce correct ordering during image
         compression and decompression (Hongchen Zhang)
    
       - Use kmap_local_page() instead of kmap_atomic() in copy_data_page()
         during hibernation and restore (Chen Haonan)
    
       - Adjust documentation and code comments to reflect recent tasks
         freezer changes (Kevin Hao)
    
       - Repair excess function parameter description warning in the
         hibernation image-saving code (Randy Dunlap)
    
       - Fix _set_required_opps when opp is NULL (Bryan O'Donoghue)
    
       - Use device_get_match_data() in the OPP code for TI (Rob Herring)
    
       - Clean up OPP level and other parts and call dev_pm_opp_set_opp()
         recursively for required OPPs (Viresh Kumar)"
    
    * tag 'pm-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
      OPP: Rename 'rate_clk_single'
      OPP: Pass rounded rate to _set_opp()
      OPP: Relocate dev_pm_opp_sync_regulators()
      PM: sleep: Fix possible deadlocks in core system-wide PM code
      OPP: Move dev_pm_opp_icc_bw to internal opp.h
      async: Introduce async_schedule_dev_nocall()
      async: Split async_schedule_node_domain()
      cpuidle: haltpoll: Do not enable interrupts when entering idle
      OPP: Fix _set_required_opps when opp is NULL
      OPP: The level field is always of unsigned int type
      PM: hibernate: Repair excess function parameter description warning
      PM: sleep: Remove obsolete comment from unlock_system_sleep()
      cpufreq: intel_pstate: Add Emerald Rapids support in no-HWP mode
      Documentation: PM: Adjust freezing-of-tasks.rst to the freezer changes
      PM: hibernate: Use kmap_local_page() in copy_data_page()
      intel_idle: add Sierra Forest SoC support
      intel_idle: add Grand Ridge SoC support
      PM / devfreq: Synchronize devfreq_monitor_[start/stop]
      cpufreq: armada-8k: Fix parameter type warning
      PM: hibernate: Enforce ordering during image compression/decompression
      ...
    7da71072
intel_idle.c 59.7 KB