msm: audio: qdsp6v2: Add NULL check for mmap APR handle

In addtion to mmap ref_cnt check, add condition to check for
mmap APR handle NULL before calling APR register.

As part adsp subsystem restart handling, mmap APR handle is set to
NULL in reset event handling. Checking for mmap APR handle will
allow APR registration to succeed post adsp subsystem restart.

Change-Id: Id1945467616c1c0331b0627d14dabdbc24a0acdd
Signed-off-by: Ravishankar Sarawadi <crsaraw@codeaurora.org>
msm: kgsl: Add support for bulk cache operations

Add a new ioctl, IOCTL_KGSL_GPUMEM_SYNC_CACHE_BULK, which can be used
to sync a number of memory ids at once. This gives the driver an
opportunity to optimize the cache operations based on the total
working set of memory that needs to be managed.

Change-Id: I9693c54cb6f12468b7d9abb0afaef348e631a114
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
msm: kgsl: flush the entire cache when the bulk batch is large

On 8064 and 8974, flushing more than 16mb of virtual address
space is slower than flushing the entire cache. So flush
the entire cache when the working set is larger than this.
The threshold for full cache flush can be tuned at runtime via
the full_cache_threshold sysfs file.

Change-Id: If525e4c44eb043d0afc3fe42d7ef2c7de0ba2106
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
msm: pm: add failed stats

for idle and supsend failed cases the stats
are not updated correctly, they are just added to
success bucket.

This patch is to log the failed stats separately.

Change-Id: If570b1026bce97750bed037585ce4b34fcb6700f
Signed-off-by: Venkat Devarasetty <vdevaras@codeaurora.org>
arm/dt: apq8074: use soc as a root node

Fix root node to refer to the soc node.

Change-Id: I27d5007f9ae6dcdacbcd5f7521e577736bcc5848
Signed-off-by: Eugene Yasman <eyasman@codeaurora.org>
ARM: msm: Add temperature alarm device for targets using PMIC PM8226

Add a temperature alarm device node for PM8226 so that the PMIC
die temperature may be monitored and so that an interrupt is
triggered if thermal overload occurs.

Change-Id: I40cd9b2ae8a201f487be4fd3de181f83050f15f1
Signed-off-by: David Collins <collinsd@codeaurora.org>
defconfig: msm8226: Enable CONFIG_THERMAL_QPNP

Enable support for the QPNP PMIC temperature alarm.

Change-Id: Idfeb458a15e4780586c193053a536d969d243004
Signed-off-by: David Collins <collinsd@codeaurora.org>
msm: Makefile: Clean up rules for nand_partitions.o

Invert the conditional statement used to build
nand_partitions.o to increase code maintainability.

Change-Id: I324cc03dfe31f7e96cd66d1afd95d5c807bbbbb4
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
ASoC: wcd9xxx: Switch to proper micbias source

After recording with headset is completed if headset PAs are on, micbias
source needs to be changed to vddio instead of cfilter to avoid mbhc
polling noise.  Change source of micbias avoid noise.

CRs-fixed: 484214
Change-Id: If312ecfcf87e688939b5b85dba44bc72aa06bb7e
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
ASoC: wcd9xxx: Wait enough time during mbhc calibration

If mbhc micbias has a capacitor which is large enough to delay micbias
voltage ramp up/down, initial calibration also needs to delay enough time
after changing mux to be able to calibrate ground and micbias voltage
accurately.  Increase delay to 50ms during calibration and improve
calibration accuracy.

Change-Id: Ibdc124495a4455464d5874f33ed1547aec664242
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
ASoC: wcd9xxx: recalibrate microphone ground voltage

Different clock sources can affect mbhc voltage inconsistent measurement
accumulation which consecutively results in inaccurate button detection.
Recalibrate ground voltage on dce handler to enhance mbhc button detection
accuracy.

CRs-fixed: 486037
Change-Id: Idfac856b7ba435a4ba1267f7f1c841084eaaab3b
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
ASoC: wcd9320: Add routes from slimbus ports to IIR

Taiko codec has two IIR blocks. Add audio routes from Slimbus
ports to IIR blocks.

CRs-Fixed: 482295
Change-Id: I833ac4860507f6f0ef93d77d6e894baa2c69e629
Signed-off-by: Kiran Kandi <kkandi@codeaurora.org>
msm: Add bindings for memblock_reserve memory

Under some circumstances, drivers may wish to have a region of
memory set aside with memblock_reserved instead of memblock_remove.
Add bindings for this reservation.

Change-Id: I41f4eeebf2f1a38374a7c8a0b65f6907d6e38faa
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
msm: memory: Add memblock_reserve bindings to dt reserve code

Drivers may wish to just reserve a block of memory in addition to
removing it or adding a size to a general pool. Update the DT
scanning code to scan for these bindings and reserve the memory.

Change-Id: Ic55c4271670a655f26a11d47a0d64cc525f9bfb2
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
crypto: msm: ota: multiple ota devices support.

This patch provides multiple hw devices support for ota crypto driver.
The driver dynamically allocates hardware resources for each ota crypto
operations. Further more, the stat structure in the driver
is changed to support device tree.

Change-Id: I701fe08ecc51f53ddbe6e2b76b2fb65ab79190d2
Acked-by: Chemin Hsieh <cheminh@qti.qualcomm.com>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
ASoC: msm: qdsp6v2: Fix for handling timeouts

wait_event_timeout returns zero when there is a timeout.
Change fixes the condition check to handle timeouts.

Change-Id: I8c67669242df7a08e94c7887d3e28eea84ed6da2
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
iommu: msm: make context bank register dumping more generic

Make the function that prints out context bank registers more generic
so that it can be used without requiring access to the context bank
registers. Dumping secure context bank registers, for example, has to
be done offline (we can't access the secure context bank registers
from Linux).

Change-Id: Ide79595cea509d8c8e24d032a62dc0db7424f3b4
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
msm: kgsl: Switch to using the dmabuf APIs

The dmabuf APIs are now fully supported upstream. Since Ion
is now a dmabuf exporter, there is no need to call those APIs
directly. Switch to calling the dmabuf APIs to generate
scattergather lists for mapping to be more compatible.

Change-Id: Ie393e74bba080cba8a10e60908af7932729e6da6
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
wcnss: Add API to read WLAN RX buffer count

WLAN driver's RX buffer count is a configurable value; WCNSS platform
driver will expose an API to read this configurable value from device
tree. Using a smaller coount of this buffer will reduce the memory
usage of WLAN driver.

Change-Id: Ida3da258ec1efdc16d37e50f69de8248fd6a26f9
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
arm/dt: msm8610: Specify WLAN RX buffer count

WLAN RX buffer count is a configurable value, using a smaller count of
this buffer will reduce the memory usage.

Change-Id: Ifd7bcbced3a6845d5b9dd6b67f2834f254a00ac7
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>