Commit graph

876,196 commits

Author SHA1 Message Date
qctecmdr
7bfb7b4733 Merge "mm, oom: Try to online memory block before killing" 2020-01-03 10:20:54 -08:00
qctecmdr
1f510928ba Merge "defconfig: Lahaina: Enable support for WLAN" 2020-01-03 09:06:48 -08:00
qctecmdr
1758058b4f Merge "arm64: Make section size configurable for memory hotplug" 2020-01-03 05:46:20 -08:00
qctecmdr
266944773a Merge "mm/memory_hotplug: Add hot-added memory blocks to ZONE_MOVABLE type" 2020-01-03 03:23:21 -08:00
qctecmdr
f984fe46b1 Merge "NFC: Add NFC I2C and I3C drivers for SNxxx" 2020-01-03 03:23:21 -08:00
qctecmdr
7effb8fd2b Merge "arm64: defconfig: Enable TSENS driver for lahaina" 2020-01-03 02:44:42 -08:00
qctecmdr
6e10762150 Merge "arm64: Override memory limit set by boot parameter" 2020-01-03 02:02:59 -08:00
qctecmdr
ba56951f33 Merge "dma-mapping-fast: Clean up common code" 2020-01-03 00:44:18 -08:00
qctecmdr
57f426091c Merge "arm64: defconfig: Enable EDAC driver support for QCOM SoCs" 2020-01-03 00:06:33 -08:00
qctecmdr
a7004306b1 Merge "kasan: Zero shadow memory on memory hotplug" 2020-01-03 00:06:33 -08:00
qctecmdr
e2131103f7 Merge "defconfig: Initial genericarmv8 defconfig" 2020-01-02 23:25:07 -08:00
Liam Mark
c5d41d1162 mm, oom: Try to online memory block before killing
Before killing a process first try to see if there are any offlined
memory blocks, if there are try to online one of them.

Change-Id: Ie97c8b69f0ba173c202a891a38a5c914869ddaae
Signed-off-by: Liam Mark <lmark@codeaurora.org>
[isaacm@codeaurora.org: Update walk_memory_range to walk_memory_blocks]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-01-02 22:15:25 -08:00
Sudarshan Rajagopalan
d62cabc403 arm64: Make section size configurable for memory hotplug
Currently On arm64, memory section size is hard-coded to 1G.
Make this configurable if memory-hotplug is enabled, to support
more finer granularity for hotplug-able memory.

Change-Id: Id889f93537df8ae7e72094b552cff735d31048e6
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: Remove unnecessary config dependency]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-01-02 22:15:25 -08:00
Sudarshan Rajagopalan
ae998ece62 mm/memory_hotplug: Add hot-added memory blocks to ZONE_MOVABLE type
When onlining memory blocks, this option helps to add the target
memory block to ZONE_MOVABLE zone type. For successful offlining,
these memory blocks should belong to 'ZONE_MOVABLE' since it carries
only movable pages. When this option is not set, the default zone
policy is to add the blocks to 'ZONE_NORMAL' which may pin pages.

Change-Id: I7f38a07d3c6817141ec8cce3a910fa7d7d91712d
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[isaacm@codeaurora.org: Use IS_ENABLED() for checking configs]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-01-02 22:15:25 -08:00
Sudarshan Rajagopalan
e39b3da82e arm64: Override memory limit set by boot parameter
To guarantee successful hot-plugging of memory blocks, these blocks
should belong to ZONE_MOVABLE which has migratable pages. Linux kernel
during boot initializes all the available memory blocks to ZONE_DMA and
ZONE_NORMAL. Hence, boot the system with less memory whose percentage
is given by mem-offline DT property 'mem-percent' and override any memory
limit imposed by kernel boot params and let mem-offline driver initialize
the remaining with ZONE_MOVABLE. The memory blocks in this zone are
applicable for memory offlining.

Change-Id: Ia7b804522fe9425101ee83d1ee354ed09483df13
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-01-02 22:15:25 -08:00
Isaac J. Manjarres
9c6628f059 soc: qcom: mem-offline: Add a snapshot of the mem-offline driver
This is a snapshot of the mem-offline driver as of msm-4.19
commit ef9b421ba16b ("sched: walt: Improve the scheduler").

Change-Id: I81be12ce85033d5d5ab6be8b10aa76a2685d5720
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-01-02 22:15:25 -08:00
qctecmdr
18d7ac772c Merge "defconfig: Enable QCOM_RUN_QUEUE_STATS" 2020-01-02 19:05:23 -08:00
qctecmdr
69ec31a004 Merge "arm64: Add fallback option during memory hot add" 2020-01-02 18:09:30 -08:00
qctecmdr
1acaa06d58 Merge "mm/Kconfig: Enable MEMORY_HOTPLUG for arm64" 2020-01-02 17:29:40 -08:00
qctecmdr
5f0679786a Merge "arm64: Hot-remove implementation for arm64" 2020-01-02 16:37:16 -08:00
qctecmdr
f7d89cd783 Merge "arm64: memory-hotplug: Add MEMORY_HOTPLUG, MEMORY_HOTREMOVE, MEMORY_PROBE" 2020-01-02 15:52:20 -08:00
Manikandan Mohan
f98d94f5ce defconfig: Lahaina: Enable support for WLAN
Enable WLAN related configs.

Change-Id: I679e2d1745376f53f06fce362212a09385ea5ba0
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
2020-01-02 10:37:13 -08:00
qctecmdr
05b1c784bd Merge "cpufreq: record CPUFREQ stat for fast switch path" 2020-01-02 09:24:43 -08:00
Ajay Prathi
e03586f944 arm64: defconfig: Enable TSENS driver for lahaina
Add configuration changes in lahaina to support tsens driver.

Change-Id: Ib6f6a1684bb62355741e826419e179b159cb3d31
Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
2020-01-02 17:22:46 +05:30
Ajay Prathi
5330a6895e firmware: qcom_scm: Add changes for tsens reinit
Add scm call support to reinitialize tsens.

Change-Id: I52c2048cdc6ff1c078b9e6610eea6522221ec96b
Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
2020-01-02 17:14:49 +05:30
Karthik Poosa
c872c472be NFC: Add NFC I2C and I3C drivers for SNxxx
Add new slave driver to support NFC over I3C interface.

I2C driver is a refactored driver. The base for this is
'commit dea45e3d54b5 ("NFC: Add support for eSE cold reset")'.

Change-Id: I58eaee72bd2bc07e855acd294b9659038e2357f3
Signed-off-by: Karthik Poosa <kpoosa2@codeaurora.org>
2020-01-02 17:10:22 +05:30
qctecmdr
452bee0e6a Merge "uapi: sound: latency mode support for transcode loopback" 2020-01-01 21:22:45 -08:00
qctecmdr
c4f1919d80 Merge "defconfig: lahaina-qgki: enable CONFIG_AUDIO_QGKI" 2020-01-01 21:22:45 -08:00
qctecmdr
5d88df1860 Merge "arm64: defconfig: Enable CPUFREQ-HW for Lahaina" 2020-01-01 21:22:45 -08:00
qctecmdr
69b0c1b3d6 Merge "ASoc: msm: qdspv2: Clock recovery support in compress driver" 2020-01-01 20:38:20 -08:00
qctecmdr
eade5931d5 Merge "dma-mapping-fast: Add support for DMA_ATTR_FORCE_CONTIGUOUS" 2020-01-01 20:38:19 -08:00
qctecmdr
105cc6ea29 Merge "Kconfig: add description for AUDIO_QGKI" 2020-01-01 19:58:00 -08:00
qctecmdr
a328bbce1c Merge "include: Add snapshot of header files for wcd spi and dsp manager" 2020-01-01 19:58:00 -08:00
qctecmdr
a7b790e08b Merge "ALSA: jack: Add support to report second microphone" 2020-01-01 19:57:59 -08:00
qctecmdr
682b9abcbc Merge "ASoC: msm: qdsp6v2: Support to set session start delay" 2020-01-01 19:57:59 -08:00
Naveen Yadav
3ec46f0514 arm64: defconfig: Enable CPUFREQ-HW for Lahaina
Enable CPUFREQ-HW for enabling cpu frequency scaling.

Change-Id: Ieb299b5e253070b6c5ff18c65547f9ead429cb37
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
2019-12-31 09:32:19 +05:30
qctecmdr
9a2d5fc879 Merge "wil6210: notify cfg80211_new_sta upon connection before init tx ring" 2019-12-30 18:34:57 -08:00
qctecmdr
e79e4c7ef2 Merge "defconfig: Enable MHI Host driver for lahaina" 2019-12-30 17:49:21 -08:00
qctecmdr
63c317db45 Merge "ASoC: compress: add support for Vorbis and amrwb_plus" 2019-12-30 17:49:21 -08:00
qctecmdr
7fe1169434 Merge "scsi: ufs-qcom: Add reset control support for host controller" 2019-12-30 17:49:20 -08:00
qctecmdr
581ceaf624 Merge "SoC: soc-pcm: call pcm_new when creating new pcm" 2019-12-30 16:55:17 -08:00
qctecmdr
b988a01dbf Merge "ASoC: core: Support for compress ioctls" 2019-12-30 16:55:16 -08:00
qctecmdr
e683eb979e Merge "arm64: defconfig: Enable CONFIG_BT_SLIM on Lahaina" 2019-12-30 16:55:16 -08:00
qctecmdr
4a83585fa1 Merge "mhi: add snapshot for MHI driver stack" 2019-12-30 16:55:16 -08:00
Arun KS
d4dd236a95 arm64: Add fallback option during memory hot add
Section mapping is good for TLB. But sometimes, when
system is low on physically continuous memory, this can
cause memory allocation failures. Add a fallback option to
allocate vmemmap pages from discontinuous pages.

Change-Id: Ide921c36c1e8980a8af047e2c991310405804858
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: resolve build errors due to API changes]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-30 15:46:42 -08:00
Arun KS
e5198921dc mm/Kconfig: Enable MEMORY_HOTPLUG for arm64
Add arm64 to the list of architectures which supports
memory hotplug.

Change-Id: Iefeb8294bf06eaebb17a3b3aa8b33bb3b7133099
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-30 15:46:42 -08:00
Arun KS
46d635e8bd arm64: Honor limits set by bootloader
Introduce a variable to save bootloader enforced memory limits and
restricts adding beyond this boundary during a memory hotplug. Also,
export this symbol so that other kernel module have access to it.

Change-Id: I28c100644b7287ec4625c4c018b5fffc865e2e72
Signed-off-by: Arun KS <arunks@codeaurora.org>
[sudaraja@codeaurora.org: check limit with physical address of page]
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: Fix merge conflicts/use generic page onlining]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-30 15:46:42 -08:00
Andrea Reale
791f0d4beb arm64: Add "remove" probe driver for memory hot-remove
Allows to remove sections of memory that have been previously offlined
from userspace.

This is symmetric to the "memory probe" interface, as described in
Documentation/memory-hotplug.txt. It can be used to manually notify the
OS that one memory section has been removed.

Please, remind that a memory section can only be removed after it has
been logically off-lined; trying to remove a section which has not been
previously off-lined is not supported and will have undefined (but most
likely very bad) behaviour.

To offline a section one can:

To use the remove interface to remove the section:

where 0xYYYYYY is the physical address of the memory section to remove.

Change-Id: I1ab2fafe17b2697a5c667feae25c4ac0655f394e
Signed-off-by: Andrea Reale <ar@linux.vnet.ibm.com>
Signed-off-by: Maciej Bielski <m.bielski@virtualopensystems.com>
Patch-mainline: linux-kernel @ 11 Apr 2017, 18:25
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[isaacm@codeaurora.org: resolved merge conflicts due to API changes]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-30 15:46:42 -08:00
Andrea Reale
ae1dba946a arm64: Hot-remove implementation for arm64
- arch_remove_memory interface
- kernel page tables cleanup
- vmemmap_free implementation for arm64

Change-Id: I8945b6b91ed7012abc1478de266302427ebeb639
Signed-off-by: Andrea Reale <ar@linux.vnet.ibm.com>
Signed-off-by: Maciej Bielski <m.bielski@virtualopensystems.com>
Patch-mainline: linux-kernel @ 11 Apr 2017, 18:25
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org : Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: Resolved merge conflicts due to MHP code in mmu.c]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-30 15:46:41 -08:00
Scott Branden
beb7d577e3 arm64: memory-hotplug: Add MEMORY_HOTPLUG, MEMORY_HOTREMOVE, MEMORY_PROBE
Add memory-hotplug support for ARM64 platform.

This requires addition of
ARCH_ENABLE_MEMORY_HOTPLUG and ARCH_ENABLE_MEMORY_HOTREMOVE config options.

MEMORY_PROBE config option is added to support
/sys/devices/system/memory/probe functionality.

In addition architecture specific arch_add_memory and
arch_remove memory management functions are added.

Change-Id: I1fc4e8c93cfe1b9722b2fc8d811390e6cdfa7995
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Patch-mainline: linux-kernel @ 11 Apr 2017, 18:24
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
[sudaraja@codeaurora.org: remove explicit zone calculation]
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[isaacm@codeaurora.org: remove duplicate hotplug/hot remove code in init.c]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-30 15:46:41 -08:00