Merge tag 'pm-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki:
"These add hybrid processors support to the intel_pstate driver and
make it work with more processor models when HWP is disabled, make the
intel_idle driver use special C6 idle state paremeters when package
C-states are disabled, add cooling support to the tegra30 devfreq
driver, rework the TEO (timer events oriented) cpuidle governor,
extend the OPP (operating performance points) framework to use the
required-opps DT property in more cases, fix some issues and clean up
a number of assorted pieces of code.
Specifics:
- Make intel_pstate support hybrid processors using abstract
performance units in the HWP interface (Rafael Wysocki).
- Add Icelake servers and Cometlake support in no-HWP mode to
intel_pstate (Giovanni Gherdovich).
- Make cpufreq_online() error path be consistent with the CPU device
removal path in cpufreq (Rafael Wysocki).
- Clean up 3 cpufreq drivers and the statistics code (Hailong Liu,
Randy Dunlap, Shaokun Zhang).
- Make intel_idle use special idle state parameters for C6 when
package C-states are disabled (Chen Yu).
- Rework the TEO (timer events oriented) cpuidle governor to address
some theoretical shortcomings in it (Rafael Wysocki).
- Drop unneeded semicolon from the TEO governor (Wan Jiabing).
- Modify the runtime PM framework to accept unassigned suspend and
resume callback pointers (Ulf Hansson).
- Improve pm_runtime_get_sync() documentation (Krzysztof Kozlowski).
- Improve device performance states support in the generic power
domains (genpd) framework (Ulf Hansson).
- Fix some documentation issues in genpd (Yang Yingliang).
- Make the operating performance points (OPP) framework use the
required-opps DT property in use cases that are not related to
genpd (Hsin-Yi Wang).
- Make lazy_link_required_opp_table() use list_del_init instead of
list_del/INIT_LIST_HEAD (Yang Yingliang).
- Simplify wake IRQs handling in the core system-wide sleep support
code and clean up some coding style inconsistencies in it (Tian
Tao, Zhen Lei).
- Add cooling support to the tegra30 devfreq driver and improve its
DT bindings (Dmitry Osipenko).
- Fix some assorted issues in the devfreq core and drivers (Chanwoo
Choi, Dong Aisheng, YueHaibing)"
* tag 'pm-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (39 commits)
PM / devfreq: passive: Fix get_target_freq when not using required-opp
cpufreq: Make cpufreq_online() call driver->offline() on errors
opp: Allow required-opps to be used for non genpd use cases
cpuidle: teo: remove unneeded semicolon in teo_select()
dt-bindings: devfreq: tegra30-actmon: Add cooling-cells
dt-bindings: devfreq: tegra30-actmon: Convert to schema
PM / devfreq: userspace: Use DEVICE_ATTR_RW macro
PM: runtime: Clarify documentation when callbacks are unassigned
PM: runtime: Allow unassigned ->runtime_suspend|resume callbacks
PM: runtime: Improve path in rpm_idle() when no callback
PM: hibernate: remove leading spaces before tabs
PM: sleep: remove trailing spaces and tabs
PM: domains: Drop/restore performance state votes for devices at runtime PM
PM: domains: Return early if perf state is already set for the device
PM: domains: Split code in dev_pm_genpd_set_performance_state()
cpuidle: teo: Use kerneldoc documentation in admin-guide
cpuidle: teo: Rework most recent idle duration values treatment
cpuidle: teo: Change the main idle state selection logic
cpuidle: teo: Cosmetic modification of teo_select()
cpuidle: teo: Cosmetic modifications of teo_update()
...
This commit is contained in:
@@ -98,20 +98,20 @@ config PM_STD_PARTITION
|
||||
default ""
|
||||
help
|
||||
The default resume partition is the partition that the suspend-
|
||||
to-disk implementation will look for a suspended disk image.
|
||||
to-disk implementation will look for a suspended disk image.
|
||||
|
||||
The partition specified here will be different for almost every user.
|
||||
The partition specified here will be different for almost every user.
|
||||
It should be a valid swap partition (at least for now) that is turned
|
||||
on before suspending.
|
||||
on before suspending.
|
||||
|
||||
The partition specified can be overridden by specifying:
|
||||
|
||||
resume=/dev/<other device>
|
||||
resume=/dev/<other device>
|
||||
|
||||
which will set the resume partition to the device specified.
|
||||
which will set the resume partition to the device specified.
|
||||
|
||||
Note there is currently not a way to specify which device to save the
|
||||
suspended image to. It will simply pick the first available swap
|
||||
suspended image to. It will simply pick the first available swap
|
||||
device.
|
||||
|
||||
config PM_SLEEP
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* drivers/power/process.c - Functions for starting/stopping processes on
|
||||
* drivers/power/process.c - Functions for starting/stopping processes on
|
||||
* suspend transitions.
|
||||
*
|
||||
* Originally from swsusp.
|
||||
|
||||
@@ -331,7 +331,7 @@ static void *chain_alloc(struct chain_allocator *ca, unsigned int size)
|
||||
*
|
||||
* Memory bitmap is a structure consisting of many linked lists of
|
||||
* objects. The main list's elements are of type struct zone_bitmap
|
||||
* and each of them corresonds to one zone. For each zone bitmap
|
||||
* and each of them corresponds to one zone. For each zone bitmap
|
||||
* object there is a list of objects of type struct bm_block that
|
||||
* represent each blocks of bitmap in which information is stored.
|
||||
*
|
||||
@@ -1146,7 +1146,7 @@ int create_basic_memory_bitmaps(void)
|
||||
Free_second_object:
|
||||
kfree(bm2);
|
||||
Free_first_bitmap:
|
||||
memory_bm_free(bm1, PG_UNSAFE_CLEAR);
|
||||
memory_bm_free(bm1, PG_UNSAFE_CLEAR);
|
||||
Free_first_object:
|
||||
kfree(bm1);
|
||||
return -ENOMEM;
|
||||
@@ -1500,7 +1500,7 @@ static struct memory_bitmap copy_bm;
|
||||
/**
|
||||
* swsusp_free - Free pages allocated for hibernation image.
|
||||
*
|
||||
* Image pages are alocated before snapshot creation, so they need to be
|
||||
* Image pages are allocated before snapshot creation, so they need to be
|
||||
* released after resume.
|
||||
*/
|
||||
void swsusp_free(void)
|
||||
@@ -2326,7 +2326,7 @@ static struct memory_bitmap *safe_highmem_bm;
|
||||
* (@nr_highmem_p points to the variable containing the number of highmem image
|
||||
* pages). The pages that are "safe" (ie. will not be overwritten when the
|
||||
* hibernation image is restored entirely) have the corresponding bits set in
|
||||
* @bm (it must be unitialized).
|
||||
* @bm (it must be uninitialized).
|
||||
*
|
||||
* NOTE: This function should not be called if there are no highmem image pages.
|
||||
*/
|
||||
@@ -2483,7 +2483,7 @@ static inline void free_highmem_data(void) {}
|
||||
|
||||
/**
|
||||
* prepare_image - Make room for loading hibernation image.
|
||||
* @new_bm: Unitialized memory bitmap structure.
|
||||
* @new_bm: Uninitialized memory bitmap structure.
|
||||
* @bm: Memory bitmap with unsafe pages marked.
|
||||
*
|
||||
* Use @bm to mark the pages that will be overwritten in the process of
|
||||
|
||||
+1
-1
@@ -1125,7 +1125,7 @@ struct dec_data {
|
||||
};
|
||||
|
||||
/**
|
||||
* Deompression function that runs in its own thread.
|
||||
* Decompression function that runs in its own thread.
|
||||
*/
|
||||
static int lzo_decompress_threadfn(void *data)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user