mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
* refs/heads/tmp-c535ee7: Linux 4.14.69 arm64: mm: always enable CONFIG_HOLES_IN_ZONE fs/quota: Fix spectre gadget in do_quotactl crypto: caam/qi - fix error path in xts setkey crypto: caam/jr - fix descriptor DMA unmapping crypto: caam - fix DMA mapping direction for RSA forms 2 & 3 crypto: vmx - Fix sleep-in-atomic bugs perf auxtrace: Fix queue resize cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias() bcache: release dc->writeback_lock properly in bch_writeback_thread() libnvdimm: fix ars_status output length calculation getxattr: use correct xattr length udlfb: set optimal write delay fb: fix lost console when the user unplugs a USB adapter pwm: tiehrpwm: Fix disabling of output of PWMs pwm: tiehrpwm: Don't use emulation mode bits to control PWM output ubifs: Fix synced_i_size calculation for xattr inodes ubifs: xattr: Don't operate on deleted inodes ubifs: Check data node size before truncate Revert "UBIFS: Fix potential integer overflow in allocation" ubifs: Fix memory leak in lprobs self-check userns: move user access out of the mutex sys: don't hold uts_sem while accessing userspace memory iommu/vt-d: Fix dev iotlb pfsid use iommu/vt-d: Add definitions for PFSID mm/tlb: Remove tlb_remove_table() non-concurrent condition ARM: tegra: Fix Tegra30 Cardhu PCA954x reset NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() NFSv4: Fix locking in pnfs_generic_recover_commit_reqs NFSv4 client live hangs after live data migration recovery pnfs/blocklayout: off by one in bl_map_stripe() block, bfq: return nbytes and not zero from struct cftype .write() method xtensa: increase ranges in ___invalidate_{i,d}cache_all xtensa: limit offsets in __loop_cache_{all,page} KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages KVM: VMX: fixes for vmentry_l1d_flush module parameter PM / sleep: wakeup: Fix build error caused by missing SRCU support cpufreq: governor: Avoid accessing invalid governor_data drivers/block/zram/zram_drv.c: fix bug storing backing_dev ovl: fix wrong use of impure dir cache in ovl_iterate() mfd: hi655x: Fix regmap area declared size for hi655x uprobes: Use synchronize_rcu() not synchronize_sched() livepatch: Validate module/old func name length printk/tracing: Do not trace printk_nmi_enter() tracing/blktrace: Fix to allow setting same value tracing: Do not call start/stop() functions when tracing_on does not change rtc: omap: fix potential crash on power off vmw_balloon: fix VMCI use when balloon built into kernel vmw_balloon: VMCI_DOORBELL_SET does not check status vmw_balloon: do not use 2MB without batching vmw_balloon: fix inflation of 64-bit GFNs extcon: Release locking when sending the notification of connector state iio: ad9523: Fix return value for ad952x_store() iio: ad9523: Fix displayed phase iio: sca3000: Fix missing return in switch Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() uart: fix race between uart_put_char() and uart_shutdown() dm crypt: don't decrease device limits dm cache metadata: set dirty on all cache blocks after a crash dm cache metadata: save in-core policy_hint_size to on-disk superblock dm thin: stop no_space_timeout worker when switching to write-mode dm integrity: change 'suspending' variable from bool to int net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree() net/9p/client.c: version pointer uninitialized 9p/virtio: fix off-by-one error in sg list bounds check fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed 9p: fix multiple NULL-pointer-dereferences RDMA/rxe: Set wqe->status correctly if an unexpected response is received ib_srpt: Fix a use-after-free in srpt_close_ch() cxl: Fix wrong comparison in cxl_adapter_context_get() powerpc/powernv/pci: Work around races in PCI bridge enabling PCI: Add wrappers for dev_printk() powerpc/pseries: Fix endianness while restoring of r3 in MCE handler. powerpc/fadump: handle crash memory ranges array index overflow Fix kexec forbidding kernels signed with keys in the secondary keyring to boot Replace magic for trusting the secondary keyring with #define mailbox: xgene-slimpro: Fix potential NULL pointer dereference media: Revert "[media] tvp5150: fix pad format frame height" libertas: fix suspend and resume for SDIO connected cards drm/i915/userptr: reject zero user_size block: really disable runtime-pm for blk-mq block: blk_init_allocated_queue() set q->fq as NULL in the fail case readahead: stricter check for bdi io_pages mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS spi: cadence: Change usleep_range() to udelay(), for atomic context spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe spi: pxa2xx: Add support for Intel Ice Lake spi: davinci: fix a NULL pointer dereference 9p/net: Fix zero-copy path in the 9p virtio transport net: mac802154: tx: expand tailroom if necessary net: 6lowpan: fix reserved space for single frames ANDROID: squashfs: resolve merge conflict with 4.14.68 Change-Id: I547b8351069d9529aa81d673f0a20e666618a74c Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
343 lines
12 KiB
Plaintext
343 lines
12 KiB
Plaintext
config SUSPEND
|
|
bool "Suspend to RAM and standby"
|
|
depends on ARCH_SUSPEND_POSSIBLE
|
|
select RTC_LIB
|
|
default y
|
|
---help---
|
|
Allow the system to enter sleep states in which main memory is
|
|
powered and thus its contents are preserved, such as the
|
|
suspend-to-RAM state (e.g. the ACPI S3 state).
|
|
|
|
config SUSPEND_FREEZER
|
|
bool "Enable freezer for suspend to RAM/standby" \
|
|
if ARCH_WANTS_FREEZER_CONTROL || BROKEN
|
|
depends on SUSPEND
|
|
default y
|
|
help
|
|
This allows you to turn off the freezer for suspend. If this is
|
|
done, no tasks are frozen for suspend to RAM/standby.
|
|
|
|
Turning OFF this setting is NOT recommended! If in doubt, say Y.
|
|
|
|
config SUSPEND_SKIP_SYNC
|
|
bool "Skip kernel's sys_sync() on suspend to RAM/standby"
|
|
depends on SUSPEND
|
|
depends on EXPERT
|
|
help
|
|
Skip the kernel sys_sync() before freezing user processes.
|
|
Some systems prefer not to pay this cost on every invocation
|
|
of suspend, or they are content with invoking sync() from
|
|
user-space before invoking suspend. Say Y if that's your case.
|
|
|
|
config HIBERNATE_CALLBACKS
|
|
bool
|
|
|
|
config HIBERNATION
|
|
bool "Hibernation (aka 'suspend to disk')"
|
|
depends on SWAP && ARCH_HIBERNATION_POSSIBLE
|
|
select HIBERNATE_CALLBACKS
|
|
select LZO_COMPRESS
|
|
select LZO_DECOMPRESS
|
|
select CRC32
|
|
---help---
|
|
Enable the suspend to disk (STD) functionality, which is usually
|
|
called "hibernation" in user interfaces. STD checkpoints the
|
|
system and powers it off; and restores that checkpoint on reboot.
|
|
|
|
You can suspend your machine with 'echo disk > /sys/power/state'
|
|
after placing resume=/dev/swappartition on the kernel command line
|
|
in your bootloader's configuration file.
|
|
|
|
Alternatively, you can use the additional userland tools available
|
|
from <http://suspend.sf.net>.
|
|
|
|
In principle it does not require ACPI or APM, although for example
|
|
ACPI will be used for the final steps when it is available. One
|
|
of the reasons to use software suspend is that the firmware hooks
|
|
for suspend states like suspend-to-RAM (STR) often don't work very
|
|
well with Linux.
|
|
|
|
It creates an image which is saved in your active swap. Upon the next
|
|
boot, pass the 'resume=/dev/swappartition' argument to the kernel to
|
|
have it detect the saved image, restore memory state from it, and
|
|
continue to run as before. If you do not want the previous state to
|
|
be reloaded, then use the 'noresume' kernel command line argument.
|
|
Note, however, that fsck will be run on your filesystems and you will
|
|
need to run mkswap against the swap partition used for the suspend.
|
|
|
|
It also works with swap files to a limited extent (for details see
|
|
<file:Documentation/power/swsusp-and-swap-files.txt>).
|
|
|
|
Right now you may boot without resuming and resume later but in the
|
|
meantime you cannot use the swap partition(s)/file(s) involved in
|
|
suspending. Also in this case you must not use the filesystems
|
|
that were mounted before the suspend. In particular, you MUST NOT
|
|
MOUNT any journaled filesystems mounted before the suspend or they
|
|
will get corrupted in a nasty way.
|
|
|
|
For more information take a look at <file:Documentation/power/swsusp.txt>.
|
|
|
|
config HIBERNATION_IMAGE_REUSE
|
|
bool "Reuse hibernation image"
|
|
depends on HIBERNATION
|
|
---help---
|
|
By default this hibernation image is erased after either a
|
|
successful or unsuccessful hibernation restore sequeunce. Since
|
|
filesystem contents on disk are not part of the hibernation
|
|
image, failure to create a new hibernation image every boot can
|
|
lead to filesystem corruption.
|
|
|
|
Conversely, if the usecase can guarantee that the filesystem is
|
|
not ever modified, the same hibernation image can be reused. This
|
|
prevents creating additional hibernation images unncesarily.
|
|
|
|
For more details, refer to the description of CONFIG_HIBERNATION
|
|
for booting without resuming.
|
|
|
|
config HIBERNATION_SKIP_CRC
|
|
bool "Skip LZO image CRC check"
|
|
default n
|
|
depends on HIBERNATION
|
|
---help---
|
|
Some filesystem devices may have hw based integrity checks. In this
|
|
scenario, repeating the integrity check in software is unnecessary
|
|
and wasteful. This config option has no effect if uncompressed
|
|
hibernation images are used.
|
|
|
|
config ARCH_SAVE_PAGE_KEYS
|
|
bool
|
|
|
|
config PM_STD_PARTITION
|
|
string "Default resume partition"
|
|
depends on HIBERNATION
|
|
default ""
|
|
---help---
|
|
The default resume partition is the partition that the suspend-
|
|
to-disk implementation will look for a suspended disk image.
|
|
|
|
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.
|
|
|
|
The partition specified can be overridden by specifying:
|
|
|
|
resume=/dev/<other device>
|
|
|
|
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
|
|
device.
|
|
|
|
config PM_SLEEP
|
|
def_bool y
|
|
depends on SUSPEND || HIBERNATE_CALLBACKS
|
|
select PM
|
|
select SRCU
|
|
|
|
config PM_SLEEP_SMP
|
|
def_bool y
|
|
depends on SMP
|
|
depends on ARCH_SUSPEND_POSSIBLE || ARCH_HIBERNATION_POSSIBLE
|
|
depends on PM_SLEEP
|
|
select HOTPLUG_CPU
|
|
|
|
config PM_AUTOSLEEP
|
|
bool "Opportunistic sleep"
|
|
depends on PM_SLEEP
|
|
default n
|
|
---help---
|
|
Allow the kernel to trigger a system transition into a global sleep
|
|
state automatically whenever there are no active wakeup sources.
|
|
|
|
config PM_WAKELOCKS
|
|
bool "User space wakeup sources interface"
|
|
depends on PM_SLEEP
|
|
default n
|
|
---help---
|
|
Allow user space to create, activate and deactivate wakeup source
|
|
objects with the help of a sysfs-based interface.
|
|
|
|
config PM_WAKELOCKS_LIMIT
|
|
int "Maximum number of user space wakeup sources (0 = no limit)"
|
|
range 0 100000
|
|
default 100
|
|
depends on PM_WAKELOCKS
|
|
|
|
config PM_WAKELOCKS_GC
|
|
bool "Garbage collector for user space wakeup sources"
|
|
depends on PM_WAKELOCKS
|
|
default y
|
|
|
|
config PM
|
|
bool "Device power management core functionality"
|
|
---help---
|
|
Enable functionality allowing I/O devices to be put into energy-saving
|
|
(low power) states, for example after a specified period of inactivity
|
|
(autosuspended), and woken up in response to a hardware-generated
|
|
wake-up event or a driver's request.
|
|
|
|
Hardware support is generally required for this functionality to work
|
|
and the bus type drivers of the buses the devices are on are
|
|
responsible for the actual handling of device suspend requests and
|
|
wake-up events.
|
|
|
|
config PM_DEBUG
|
|
bool "Power Management Debug Support"
|
|
depends on PM
|
|
---help---
|
|
This option enables various debugging support in the Power Management
|
|
code. This is helpful when debugging and reporting PM bugs, like
|
|
suspend support.
|
|
|
|
config PM_ADVANCED_DEBUG
|
|
bool "Extra PM attributes in sysfs for low-level debugging/testing"
|
|
depends on PM_DEBUG
|
|
---help---
|
|
Add extra sysfs attributes allowing one to access some Power Management
|
|
fields of device objects from user space. If you are not a kernel
|
|
developer interested in debugging/testing Power Management, say "no".
|
|
|
|
config PM_TEST_SUSPEND
|
|
bool "Test suspend/resume and wakealarm during bootup"
|
|
depends on SUSPEND && PM_DEBUG && RTC_CLASS=y
|
|
---help---
|
|
This option will let you suspend your machine during bootup, and
|
|
make it wake up a few seconds later using an RTC wakeup alarm.
|
|
Enable this with a kernel parameter like "test_suspend=mem".
|
|
|
|
You probably want to have your system's RTC driver statically
|
|
linked, ensuring that it's available when this test runs.
|
|
|
|
config PM_SLEEP_DEBUG
|
|
def_bool y
|
|
depends on PM_DEBUG && PM_SLEEP
|
|
|
|
config DPM_WATCHDOG
|
|
bool "Device suspend/resume watchdog"
|
|
depends on PM_DEBUG && PSTORE && EXPERT
|
|
---help---
|
|
Sets up a watchdog timer to capture drivers that are
|
|
locked up attempting to suspend/resume a device.
|
|
A detected lockup causes system panic with message
|
|
captured in pstore device for inspection in subsequent
|
|
boot session.
|
|
|
|
config DPM_WATCHDOG_TIMEOUT
|
|
int "Watchdog timeout in seconds"
|
|
range 1 120
|
|
default 120
|
|
depends on DPM_WATCHDOG
|
|
|
|
config PM_TRACE
|
|
bool
|
|
help
|
|
This enables code to save the last PM event point across
|
|
reboot. The architecture needs to support this, x86 for
|
|
example does by saving things in the RTC, see below.
|
|
|
|
The architecture specific code must provide the extern
|
|
functions from <linux/resume-trace.h> as well as the
|
|
<asm/resume-trace.h> header with a TRACE_RESUME() macro.
|
|
|
|
The way the information is presented is architecture-
|
|
dependent, x86 will print the information during a
|
|
late_initcall.
|
|
|
|
config PM_TRACE_RTC
|
|
bool "Suspend/resume event tracing"
|
|
depends on PM_SLEEP_DEBUG
|
|
depends on X86
|
|
select PM_TRACE
|
|
---help---
|
|
This enables some cheesy code to save the last PM event point in the
|
|
RTC across reboots, so that you can debug a machine that just hangs
|
|
during suspend (or more commonly, during resume).
|
|
|
|
To use this debugging feature you should attempt to suspend the
|
|
machine, reboot it and then run
|
|
|
|
dmesg -s 1000000 | grep 'hash matches'
|
|
|
|
CAUTION: this option will cause your machine's real-time clock to be
|
|
set to an invalid time after a resume.
|
|
|
|
config APM_EMULATION
|
|
tristate "Advanced Power Management Emulation"
|
|
depends on SYS_SUPPORTS_APM_EMULATION
|
|
help
|
|
APM is a BIOS specification for saving power using several different
|
|
techniques. This is mostly useful for battery powered laptops with
|
|
APM compliant BIOSes. If you say Y here, the system time will be
|
|
reset after a RESUME operation, the /proc/apm device will provide
|
|
battery status information, and user-space programs will receive
|
|
notification of APM "events" (e.g. battery status change).
|
|
|
|
In order to use APM, you will need supporting software. For location
|
|
and more information, read <file:Documentation/power/apm-acpi.txt>
|
|
and the Battery Powered Linux mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
This driver does not spin down disk drives (see the hdparm(8)
|
|
manpage ("man 8 hdparm") for that), and it doesn't turn off
|
|
VESA-compliant "green" monitors.
|
|
|
|
Generally, if you don't have a battery in your machine, there isn't
|
|
much point in using this driver and you should say N. If you get
|
|
random kernel OOPSes or reboots that don't seem to be related to
|
|
anything, try disabling/enabling this option (or disabling/enabling
|
|
APM in your BIOS).
|
|
|
|
config PM_OPP
|
|
bool
|
|
select SRCU
|
|
---help---
|
|
SOCs have a standard set of tuples consisting of frequency and
|
|
voltage pairs that the device will support per voltage domain. This
|
|
is called Operating Performance Point or OPP. The actual definitions
|
|
of OPP varies over silicon within the same family of devices.
|
|
|
|
OPP layer organizes the data internally using device pointers
|
|
representing individual voltage domains and provides SOC
|
|
implementations a ready to use framework to manage OPPs.
|
|
For more information, read <file:Documentation/power/opp.txt>
|
|
|
|
config PM_CLK
|
|
def_bool y
|
|
depends on PM && HAVE_CLK
|
|
|
|
config PM_GENERIC_DOMAINS
|
|
bool
|
|
depends on PM
|
|
|
|
config WQ_POWER_EFFICIENT_DEFAULT
|
|
bool "Enable workqueue power-efficient mode by default"
|
|
depends on PM
|
|
default n
|
|
help
|
|
Per-cpu workqueues are generally preferred because they show
|
|
better performance thanks to cache locality; unfortunately,
|
|
per-cpu workqueues tend to be more power hungry than unbound
|
|
workqueues.
|
|
|
|
Enabling workqueue.power_efficient kernel parameter makes the
|
|
per-cpu workqueues which were observed to contribute
|
|
significantly to power consumption unbound, leading to measurably
|
|
lower power usage at the cost of small performance overhead.
|
|
|
|
This config option determines whether workqueue.power_efficient
|
|
is enabled by default.
|
|
|
|
If in doubt, say N.
|
|
|
|
config PM_GENERIC_DOMAINS_SLEEP
|
|
def_bool y
|
|
depends on PM_SLEEP && PM_GENERIC_DOMAINS
|
|
|
|
config PM_GENERIC_DOMAINS_OF
|
|
def_bool y
|
|
depends on PM_GENERIC_DOMAINS && OF
|
|
|
|
config CPU_PM
|
|
bool
|