msm: iommu: Lock the genpool allocation

Previously, IOMMU allocation and mapping was handled through Ion.
Ion provided very coarse locking that essentially serialized access
to iova allocation. Now that IOMMU allocation is out of Ion,
the genpool allocation for IOVAs needs to be serialized again.
Take the pool lock for each IOVA pool to prevent against races.

Change-Id: I6d38995549cabd3d082697e440e3aafc1bdcfaa5
CRs-Fixed: 481328
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
(cherry picked from commit 594e9cd10ee7a3739e9d1a7b477582ca43fb830f)
msm: mdss: change underrun log to debug message

There are cases in which if underrun happens continously it may print
many messages at once leading to watchdog bark. Change the message to
debug message to avoid this and still allow option be enabled with
dynamic debug messages. The underrun counter is also available through
debugfs.

Change-Id: I81f49363031b26c2b13f8c68ba82c45275d523b0
CRs-Fixed: 481077
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
(cherry picked from commit 13490988b12ff9c3583b6d6fd341d5fac7c120fd)
msm: cpufreq: Update limit management to support multiple clients

Update limit management in the cpufreq driver to support multiple
clients. Facilitate easy extensibility of the
msm_cpufreq_set_freq_limits() by other pre-defined clients.
Also add optional module param to limit turbo modes.

Change-Id: Ie71b239cc3efdfc429872bafa201cae1aa5d355f
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
(cherry picked from commit fba8d1e72e5f9db7b25f85dd4232994c22576fc8)
Merge "msm: iommu: Lock the genpool allocation"
Merge "msm: mdss: change underrun log to debug message"
Merge "msm: cpufreq: Update limit management to support multiple clients"
msm_serial_hs_lite: Vote for bus bandwidth before enabling clocks

The UART bus interface clock requires the bus clock
to be on before it can be enabled. Ensure that there
is a vote for the bus before enabling the clock.

Change-Id: I6612d6df1b890a3de39f892439a9c406b9cbdbc7
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Merge "msm_serial_hs_lite: Vote for bus bandwidth before enabling clocks"
msm: mdss: unstage target mixer stage when replacing pipe

If a new pipe comes in with mixer stage that is already taken, the pipe
that is currently holding that mixer stage should first be unstaged.
This ensures that only the pipe taking its place can be placed at that
mixer stage, and avoid situations where error in programming may lead to
previous pipe still being staged with incorrect parameters.

CRs-Fixed: 481364
Change-Id: Ie6d3471c610833a9546e52bc5f3816ddb5cb4101
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
msm: kgsl: Remove extra call to sync_fence_put()

sync_fence_put is called twice and cause NULL pointer dereference.

Change-Id: Ia29e676af28d9040d1ba1ee8669f1306cc8b4035
Signed-off-by: Alex Wong <waiw@codeaurora.org>
Merge "msm: mdss: unstage target mixer stage when replacing pipe"
Merge "msm: kgsl: Remove extra call to sync_fence_put()"
Revert "msm: cpufreq: Update limit management to support multiple clients"

This reverts commit 3b68f4fccf2c4f541f12618fd6e7888c968902c8.

Change-Id: I131d2048de5cb0df5b804cddd4de45486c7125b0
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
msm: camera2: Silence non-critical logs in cpp driver

The cpp driver request for output buffers from vb2 queue. When
buffers are not available in queue, the cpp driver can skip
processing of input frame. The non-availability of output
buffers are traced in cpp userspace driver and kernel driver
need not flood such error logs. This change silences such
non-critical logs.

Change-Id: I46294a772ebda67d7deebca3b8f867e8d2fc8e93
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
Merge "Revert "msm: cpufreq: Update limit management to support multiple clients""
Merge "msm: camera2: Silence non-critical logs in cpp driver"