This reverts commit 9d6fd2c3e9 ("Merge remote-tracking branch
'msm-4.4/tmp-510d0a3f' into msm-4.4"), because it breaks the
dump parsing tools due to kernel can be loaded anywhere in the memory
now and not fixed at linear mapping.
Change-Id: Id416f0a249d803442847d09ac47781147b0d0ee6
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Add support for adjusting volume when DSD (Direct Stream
Digital) audio playback is in progress.
Change-Id: Ica51d40911d16059e8af21c60794b35c68bb695d
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Add DAPM (Dynamic Audio Power Management) widgets and
routing to enable support for DSD (Direct Stream Digital)
audio playback on wcd934x codec.
Change-Id: I06e1b0134cea58adedbd9113a51529b2b73da835
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
WCD934X supports mixing of integer sample rate clips with
fractional sample rate clips using ASRC(asynchronous sample
rate converter) block. Add support to use ASRC block in codec.
CRs-Fixed: 1054643
Change-Id: I3a04cc902c74b49e1d40c5a52acbf1f7c907c34e
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Add support to enable codec MCLK2 which is used for
44.1KHz and its multiples sample rate audio playback.
CRs-Fixed: 1054643
Change-Id: Id157439b2a46ac4fa54b4a768f9555cf390399b5
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
WCD934X audio codec supports static voltage scaling (SVS) mode, which
puts the codec into lowest power state. The codec has different power
states (SVS2, SVS and Nominal). Add support in codec driver to vote
for SVS when audio usecases are enabled and remove vote for SVS when
audio usecases are disabled. The codec driver only votes for SVS or
no SVS and the hardware internally manages to go into Nominal mode.
CRs-Fixed: 1049012
Change-Id: I6f66d3136e3c49da54f5919184bc113267105463
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
MAD (Microphone Activity Detection) hardware block in wcd934x audio
codec samples the microphone at configured intervals to sense
presence of valid audio signal. This is used for voice activation
use cases. Change adds widgets and routes to enable the MAD block.
CRs-Fixed: 1049012
Change-Id: I1ce4f3f215850fada6c25192a4351f3a9c76a370
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Add the audio codec as a child node of the MSM External display
node. The audio codec probe will happen after the External
display probe, and will allow the audio codec to register with
the External display independently of the display interface(s)
that will the added after a hotplug event.
Change-Id: I481e475ceff2ea0a07a0dfc4083526982674954c
CRs-Fixed: 1009284
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Remove unused APIs from the external display header while
retaining the hdmi audio codec registration API for backward
compatibility.
Change-Id: I62e8d8810280fd42e1db1769ab95be877dc536ed
CRs-Fixed: 1009284
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
When qseecom send listener A's resp to app A, if app A needs to
request listener B but B is used by another app, TZ will return
BLOCKED status to qseecom. Instead of returning an error to
client directly, qseecom need to wait listener B become available
and then notify TZ to continue blocked request for listener B.
Change-Id: I5f7a19718b3b81a1e27d128bc69554cbaabf03f9
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
conn_info is used to connect the local port with destination port
address and is freed only for remote server cleanup in SSR case
which leads memory leak for other remote ports which valid conn_info.
Free the conn_info structure for all remote ports during the SSR and
while handling remove client message.
CRs-Fixed: 1057219
Change-Id: I164a9eb308f5779d545766b18bb41184c49bbb3d
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
On arm systems the spin on owner optimization can intermittently cause a
lockup that's usually as long as the waiting thread's cpu timeslice. The
repeated mutex aquisitions + atomics in a single spinning thread can
completely lock out the owner from releasing the kernel mutex. The
owner needs to acquire a spinlock on the relase path and this spinlock
can share a monitor with the other locks and atomics on the waiter path.
Rate limit the waiter so that the thread releasing the mutex never
is starved.
Bug 23036902
Change-Id: Ie1b64275a0c6141f94faaf3e63fcbf9b5438140c
Signed-off-by: Riley Andrews <riandrews@google.com>
Git-commit: 84d8ce7e0025cac60a8a379a7ee3e59d640fbc03
Git-repo: https://android.googlesource.com/kernel/msm.git
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Currently DMIC clock is set at 4.8MHz for all sampling rates.
For optimal power, sampling rates <=48KHz and dmic clock <=2.4MHz,
it should be set to the value read from device tree and others
should be set to 2.4MHz.
Change-Id: If68fea97d2f0b27432e61d73d6841a2b194bb63b
Signed-off-by: Meng Wang <mwang@codeaurora.org>
When a system is entering RPM assisted sleep, the NOACK messages are
not accounted in preventing such sleep modes as no driver is waiting
on it. In such scenarios, some active messages could still be in the
Apps RX buffer which reduces the number of outstanding sleep messages.
Fix by accounting for NOACK messages while flushing sleep set requests
and ensuring that they are read before sending any sleep set requests.
The original changes were reverted to address issues with SMD transport.
This change includes fixes from earlier squashed into a single commit.
Change-Id: I5570d7694424d0a602c446c0af098a64ffa681e4
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Forwarding the data from the MHI layer can fail if USB
or MD is not connected. This change adds an error case
to free the buffers if forwarding the data fails.
CRs-Fixed: 1054875
Change-Id: I49ef2a32ffd731ab2875c941c9d11155f2aba9e2
Signed-off-by: Chris Lew <clew@codeaurora.org>
In the current implementation, if a DSI panel does not explicitly
specify the minimum supported refresh rate, then it is set to
48 by default. This is incorrect since many panels may not support
that low of a refresh rate. Fix this by setting the default value
to the panel's actual refresh rate.
CRs-Fixed: 1056610
Change-Id: I8d4267528068e36a648c328fbe6d6a35943f3810
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
On debug setups where the battery is not present, we need a way
to fake battery capacity instead of reporting some incorrect
/non-existent value. Provide means for the userspace to setup
a fake battery capacity.
Change-Id: Iff3ee1009d9c3215433cc267f016ef9cf2a9bff2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>