Commit graph

876,180 commits

Author SHA1 Message Date
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
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
qctecmdr
05b1c784bd Merge "cpufreq: record CPUFREQ stat for fast switch path" 2020-01-02 09:24:43 -08:00
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
Maciej Bielski
63ab21d428 arm64: Memory hotplug support for arm64 platform
This is a second and improved version of the patch previously released
in [3].

It builds on the work by Scott Branden [2] and, henceforth,
it needs to be applied on top of Scott's patches [2].
Comments are very welcome.

Changes from the original patchset and known issues:

- Compared to Scott's original patchset, this work adds the mapping of
  the new hotplugged pages into the kernel page tables. This is done by
  copying the old swapper_pg_dir over a new page, adding the new mappings,
  and then switching to the newly built pg_dir (see `hotplug_paging` in
  arch/arm64/mmu.c). There might be better ways to to this: suggestions
  are more than welcome.

- The stub function for `arch_remove_memory` has been removed for now; we
  are working in parallel on memory hot remove, and we plan to contribute
  it as a separate patch.

- Corresponding Kconfig flags have been added;

- Note that this patch does not work when NUMA is enabled; in fact,
  the function `memory_add_physaddr_to_nid` does not have an
  implementation when the NUMA flag is on: this function is supposed to
  return the nid the hotplugged memory should be associated with. However
  it is not really clear to us  yet what the semantics of this function
  in the context of a NUMA system should be. A quick and dirty fix would
  be to always attach to the first available NUMA node.

- In arch/arm64/mm/init.c `arch_add_memory`, we are doing a hack with the
  nomap memory block flags to satisfy preconditions and postconditions of
  `__add_pages` and postconditions of `arch_add_memory`. Compared to
  memory hotplug implementation for other architectures, the "issue"
  seems to be in the implemenation of `pfn_valid`. Suggestions on how
  to cleanly avoid this hack are welcome.

This patchset can be tested by starting the kernel with the `mem=X` flag, where
X is less than the total available physical memory and has to be multiple of
MIN_MEMORY_BLOCK_SIZE. We also tested it on a customised version of QEMU
capable to emulate physical hotplug on arm64 platform.

To enable the feature the CONFIG_MEMORY_HOTPLUG compilation flag
needs to be set to true. Then, after memory is physically hotplugged,
the standard two steps to make it available (as also documented in
Documentation/memory-hotplug.txt) are:

(1) Notify memory hot-add
 	echo '0xYY000000' > /sys/devices/system/memory/probe

where 0xYY000000 is the first physical address of the new memory section.

(2) Online new memory block(s)
    echo online > /sys/devices/system/memory/memoryXXX/state
    -- or --
    echo online_movable > /sys/devices/system/memory/memoryXXX/state

where XXX corresponds to the ids of newly added blocks.

Onlining can optionally be automatic at hot-add notification by enabling
the global flag:
	echo online > /sys/devices/system/memory/auto_online_blocks
or by setting the corresponding config flag in the kernel build.

Again, any comment is highly appreciated.

[1] https://lkml.org/lkml/2016/11/17/49
[2] https://lkml.org/lkml/2016/12/1/811
[3] https://lkml.org/lkml/2016/12/14/188

Change-Id: I545807e3121c159aaa2f917ea914ee98f38fb296
Signed-off-by: Maciej Bielski <m.bielski@virtualopensystems.com>
Signed-off-by: Andrea Reale <ar@linux.vnet.ibm.com>
Patch-mainline: linux-kernel @ 11 Apr 2017, 18:25
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
[arunks@codeaurora.org: fix to pass checker test]
Signed-off-by: Arun KS <arunks@codeaurora.org>
[sudaraja@codeaurora.org: fixed merge conflicts]
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 now unnecessary workarounds due to MHP changes]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-30 15:46:41 -08:00
qctecmdr
536ac75863 Merge "BACKPORT: FROMLIST: scsi: ufs: Export query request interfaces" 2019-12-30 15:00:18 -08:00
qctecmdr
ae8057b485 Merge "ASoC: compress: update snd_soc_platform to snd_soc_component" 2019-12-30 15:00:18 -08:00
qctecmdr
e22f3c6ca9 Merge "ASoC: Cold start latency reduction" 2019-12-30 15:00:17 -08:00
qctecmdr
82ed4665df Merge "clk: dt-bindings: Define clock IDs supported by bolero codec" 2019-12-30 14:12:30 -08:00
qctecmdr
ebb17abdf0 Merge "drivers: slimbus: Makefile: Correct makefile configuration" 2019-12-30 14:12:30 -08:00
qctecmdr
ee5466d8fb Merge "ASoC: msm: qdsp6v2: Support to configure clk recovery mode" 2019-12-30 14:12:29 -08:00
qctecmdr
fcd01ea326 Merge "SoC: pcm: Add delay_blk feature" 2019-12-30 13:08:31 -08:00
qctecmdr
1e5fdaeff7 Merge "uapi: sound: add new meta key to get DSP render position" 2019-12-30 13:08:31 -08:00
qctecmdr
86fcf02a59 Merge "msm: dt-binding: add snapshot of audio external clockfor Lahaina" 2019-12-30 13:08:30 -08:00
Meng Wang
5c51c207d3 ASoC: compress: add support for Vorbis and amrwb_plus
Add Vorbis and amrwb_plus to supported offload formats,
update alac and ape snd_codec_options names to match with
userspace and send media format block for both formats
through compress driver.

Change-Id: Ibec74c4d3f44a4676b49fa03133fd5d31dd5182d
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-12-27 14:44:06 +08:00
Hemant Kumar
bf5a4bf702 defconfig: Enable MHI Host driver for lahaina
MHI Host Interface is a communication protocol to be used by the
host to control and communicate with external soc over a high speed
peripheral bus.

Change-Id: Ia948274b3d298df417628b8cc87d972945a55e47
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2019-12-25 21:33:33 -08:00
Hemant Kumar
e689af8a2e mhi: add snapshot for MHI driver stack
Add snapshot for MHI driver stack from msm-4.19 commit
6cc10bff8d4a ("Bluetooth: Re-initialize regulator to NULL on error").
Additional changes are made to pass check_patch errors.

Change-Id: I4dbe727e25d01967dd9cbe60125af47d3bab3f20
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2019-12-25 21:32:42 -08:00
jiad
22e74e2569 mhi: core: export symbols for references
Export symbols for below three APIs.

mhi_unprepare_after_power_down
mhi_unregister_mhi_controller
mhi_pm_resume.
mhi_pm_fast_resume.

Change-Id: If5a447e77f04e40782b74fd75b31ea42ee706d6d
Signed-off-by: jiad <jiad@codeaurora.org>
2019-12-25 21:32:42 -08:00
Surendar Karka
529de7c466 uapi: sound: add new meta key to get DSP render position
Add meta key to query presentation position from DSP
in system time domain.

Change-Id: I1b17bdc2c94b4d694f7d968cd513812e4136e209
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2019-12-26 09:42:59 +08:00
Meng Wang
18b7652c82 Kconfig: add description for AUDIO_QGKI
Add description for Audio QGKI config.

Change-Id: I54a3de4fdb6e79fb90d6653bd52f729bb2c03031
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-12-26 09:39:05 +08:00