Commit graph

575295 commits

Author SHA1 Message Date
Linux Build Service Account
c60a678c0e Merge "ASoC: msmcobalt: send ANC config for WCD9340 codec" 2016-09-29 11:20:31 -07:00
Linux Build Service Account
45bd3054fc Merge "ARM: dts: msm: Fix smem rpm xprt entry for msmfalcon" 2016-09-29 11:20:31 -07:00
Linux Build Service Account
f6d68e27bf Merge "sched: constrain HMP scheduler tunable range with in better way" 2016-09-29 11:20:30 -07:00
Linux Build Service Account
fbf3c441eb Merge "defconfig: msmcortex: Enable core control" 2016-09-29 11:20:18 -07:00
Linux Build Service Account
95ce9d98db Merge "sched/core_ctl: Integrate core control with cpu isolation" 2016-09-29 11:20:17 -07:00
Linux Build Service Account
461424e5ec Merge "sched/core_ctl: Refactor cpu data" 2016-09-29 11:20:17 -07:00
Linux Build Service Account
bbf8724641 Merge "core_ctrl: Move core control into kernel" 2016-09-29 11:20:17 -07:00
Linux Build Service Account
a18b94fe05 Merge "ARM: dts: msm: Update TSENS sensor ID for MSMCOBALT" 2016-09-29 11:20:15 -07:00
Linux Build Service Account
e84d273d90 Merge "thermal: tsens: Update sensor ID index" 2016-09-29 11:20:14 -07:00
Linux Build Service Account
dee200e246 Merge "net: ipc_router: fix NULL pointer de-reference issue" 2016-09-29 11:20:14 -07:00
Linux Build Service Account
2ef6e7b165 Merge "soc: qcom: Listen to SUBSYS_AFTER_SHUTDOWN notification" 2016-09-29 11:20:13 -07:00
Linux Build Service Account
06b25aaee0 Merge "ASoC: wcd9335: add handset speaker gain mixer control" 2016-09-29 11:20:12 -07:00
Linux Build Service Account
e70bdf79d7 Merge "ARM: dts: msm: Add SMP2P entries for MSMTRITON" 2016-09-29 11:20:09 -07:00
Linux Build Service Account
b7a533836a Merge "arm64: process: Reduce the no. of bytes of data around registers" 2016-09-29 11:20:08 -07:00
Linux Build Service Account
54ff1c7439 Merge "msm: pil: Adding function name and buffer size information in logs" 2016-09-29 11:20:07 -07:00
Linux Build Service Account
8da5055a8d Merge "wil6210: extract firmware capabilities from FW file" 2016-09-29 11:20:01 -07:00
Linux Build Service Account
1e6c420f32 Merge "ARM: dts: msm: Remove 710Mhz frequency for A540v2 GPU." 2016-09-29 11:20:00 -07:00
Linux Build Service Account
c5de06bf5c Merge "ASoC: msm: qdsp6v2: Change device switch handling" 2016-09-29 11:20:00 -07:00
Linux Build Service Account
6f2eaf846d Merge "misc: qcom: qdsp6v2: SSR recovery support for NT decoder" 2016-09-29 11:19:58 -07:00
Linux Build Service Account
50edc528ba Merge "msm: pcie: configurable PERST propagation delay" 2016-09-29 11:19:57 -07:00
Linux Build Service Account
d099799530 Merge "msm: camera: Add a driver to control IR CUT device" 2016-09-29 11:19:56 -07:00
Linux Build Service Account
a04c752c85 Merge "msm: camera: Export IR CUT device to mm-qcamera-daemon" 2016-09-29 11:19:54 -07:00
Vidyakumar Athota
a170ccba8c ASoC: msmcobalt: send ANC config for WCD9340 codec
ADSP requires ANC configuration to run the ANC algorithm.
Send the common configuration for both WCD9335 and WCD9340
codecs.

Change-Id: I12154b0aa315fde6dd92267d4c8f4a78a6f0236f
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-09-25 08:41:15 -07:00
Olav Haugan
ddaf94c768 defconfig: msmcortex: Enable core control
core control enables you to save power by controlling how many
cores are being used depending on the load in the system.

Change-Id: I5975f1e5d7a1947dc5ee1cf8a0c16ec88b0fc6fb
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:07 -07:00
Olav Haugan
e42aae958b sched/core_ctl: Integrate core control with cpu isolation
Replace hotplug functionality in core control with cpu isolation
and integrate into scheduler.

Change-Id: I4f1514ba5bac2e259a1105fcafb31d6a92ddd249
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:06 -07:00
Olav Haugan
e7c8de6756 sched/core_ctl: Refactor cpu data
Refactor cpu data into cpu data and cluster data to improve readability and
ease of understanding the code.

Change-Id: I96505aeb9d07a6fa3a2c28648ffa299e0cfa2e41
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:05 -07:00
Olav Haugan
5d1e98d51d trace: Move core control trace events to scheduler
Move the core control trace events to scheduler trace event file.

Change-Id: I65943d8e4a9eac1f9f5a40ad5aaf166679215f48
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:04 -07:00
Olav Haugan
59f16ae034 core_ctrl: Move core control into kernel
Move core control from out-of-tree module into the kernel proper.

Core control monitors load on CPUs and controls how many CPUs are
available for the system to use at any point in time. This can help save
power. Core control can be configured through sysfs interface.

Change-Id: Ia78e701468ea3828195c2a15c9cf9fafd099804a
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:03 -07:00
Olav Haugan
7f2c523643 core_ctl_helper: Remove code since it is not used anymore
Remove the core control helper code since this is not needed anymore
with subsequent patches that moves core control into the kernel.

Change-Id: I62acddeb707fc7d5626580166b3466e63f45fd89
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:02 -07:00
Olav Haugan
75c9d1833a defconfig: msm: Disable core control helper
Core control helper is not needed anymore with subsequent patches
that moves core control into the kernel.

Change-Id: I2c62af441fb9e5ba9f29719853a63e4c8f2d031b
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:01 -07:00
Olav Haugan
ca2c4c6518 sched/tick: Ensure timers does not get queued on isolated cpus
Timers should not be queued on isolated cpus. Instead try to find
other cpus to queue timer on.

Change-Id: I5d849dfd29aa5bb594454473768d7db1da258028
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 11:00:00 -07:00
Olav Haugan
639c8ad52d perf: Add cpu isolation awareness
Ensure perf events does not wake up idle cores when core is isolated.

Change-Id: Ifefb2f1cf6c24af7bc46fc62797955b8c8ad5815
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:59:59 -07:00
Olav Haugan
e38c1ce123 smp: Do not wake up all idle CPUs
Do not wake up cpus that are isolated.

Change-Id: I07702bb5b738c1c75c49a2ca4cb08be0231ccb12
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:59:58 -07:00
Olav Haugan
bc24c063ef pmqos: Enable cpu isolation awareness
Set long latency requirement for isolated cores to ensure LPM logic will
select a deep sleep state.

Change-Id: I83e9fbb800df259616a145d311b50627dc42a5ff
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:59:57 -07:00
Olav Haugan
287b1a8c1c vmstat: Add cpu isolation awareness
Ensure vmstat updates do not run on isolated cpus.

Change-Id: I401de0b52fa6d20573187265ee56edd543b1419e
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:59:56 -07:00
Olav Haugan
4400ef145f irq: Make irq affinity function cpu isolation aware
Prohibit setting the affinity of an IRQ to an isolated core.

Change-Id: I7b50778615541a64f9956573757c7f28748c4f69
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:59:55 -07:00
Olav Haugan
de1a32cd14 drivers/base: cpu: Add node for cpu isolation
Add a new per-cpu node to control isolation of CPU.

Usage:
echo 1 > isolate - Isolate the core
echo 0 > isolate - Unisolate the core

Change-Id: I6a13e8dda99130ca794e5b6f51600f4c57a3e921
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:59:54 -07:00
Olav Haugan
0a17b36a20 sched/core: Add trace point for cpu isolation
Add tracepoint to capture the cpu isolation event including KPI for
time it took to isolate.

Change-Id: If2d30000f068afc50db953940f4636ef6a089b24
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:59:42 -07:00
Olav Haugan
e33c24bfec sched: add cpu isolation support
This adds cpu isolation APIs to the scheduler to isolate and unisolate
CPUs. Isolating and unisolating a CPU can be used in place of hotplug.
Isolating and unisolating a CPU is faster than hotplug and can thus be
used to optimize the performance and power of multi-core CPUs.

Isolating works by migrating non-pinned IRQs and tasks to other CPUS and
marking the CPU as not available to the scheduler and load balancer.
Pinned tasks and IRQs are still allowed to run but it is expected that
this would be minimal.

Unisolation works by just marking the CPU available for scheduler and
load balancer.

Change-Id: I0bbddb56238c2958c5987877c5bfc3e79afa67cc
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2016-09-24 10:55:17 -07:00
Linux Build Service Account
626caf4e54 Merge "ARM: dts: msm: Add support for venus pil on msmfalcon" 2016-09-24 07:55:26 -07:00
Linux Build Service Account
3d38968e50 Merge "sysrq: Fix warning in sysrq generated crash." 2016-09-24 07:55:26 -07:00
Gaurav Kohli
8c5779a456 ARM: dts: msm: Add support for venus pil on msmfalcon
Add support for VENUS PIL which facilitates the loading of venus
firmware, authentication and bringing it out of reset.

Change-Id: I53657d42b5cfe7dba63d8331127aca6551e553e1
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
2016-09-24 03:45:14 -07:00
Ani Sinha
ba57435ee4 sysrq: Fix warning in sysrq generated crash.
Commit 984d74a720 ("sysrq: rcu-ify __handle_sysrq") replaced
spin_lock_irqsave() calls with rcu_read_lock() calls in sysrq. Since
rcu_read_lock() does not disable preemption, faulthandler_disabled() in
__do_page_fault() in x86/fault.c returns false. When the code later calls
might_sleep() in the pagefault handler, we get the following warning:

BUG: sleeping function called from invalid context at ../arch/x86/mm/fault.c:1187
in_atomic(): 0, irqs_disabled(): 0, pid: 4706, name: bash
Preemption disabled at:[<ffffffff81484339>] printk+0x48/0x4a

To fix this, we release the RCU read lock before we crash.

Tested this patch on linux 3.18 by booting off one of our boards.

Fixes: 984d74a720 ("sysrq: rcu-ify __handle_sysrq")

Change-Id: I1827413e7e4fede197b3ebb6216239c07ae33a71
Signed-off-by: Ani Sinha <ani@arista.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Git-commit: 984cf355aeaa8f2eda3861b50d0e8d3e3f77e83b
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
2016-09-24 03:43:50 -07:00
Linux Build Service Account
30931e7448 Merge "icnss: Provide ICNSS support of reading SOC serial number" 2016-09-24 02:00:58 -07:00
Linux Build Service Account
6e3db51c97 Merge "icnss: Add debug support of configuring QMI timeout" 2016-09-24 02:00:56 -07:00
Linux Build Service Account
9897e1c74c Merge "cnss: Add new case in cnss runtime PM request feature" 2016-09-24 02:00:55 -07:00
Linux Build Service Account
c843607461 Merge "msm: kgsl: Disable rbbm countable on a540" 2016-09-24 02:00:55 -07:00
Linux Build Service Account
c480cfd424 Merge "Revert "ARM: dts: msm: configure CX voltage levels from MDSS for msmcobalt"" 2016-09-24 02:00:54 -07:00
Linux Build Service Account
4b80b64e9d Merge "msm: mdss: expand vbif debug bus for msmcobalt" 2016-09-24 02:00:53 -07:00
Linux Build Service Account
463b2ded6a Merge "msm: mdss: fix truncation of 64 bit for clk rate" 2016-09-24 02:00:52 -07:00