Commit graph

12732 commits

Author SHA1 Message Date
Patrick Lai
ebd937e2fe ASoC: msm: qdsp6: add check for maximum COPPs allowed
There is maximum number of COPPs ASM session can be routed
to even though there are far more number of AFE ports.
Add the check to make sure caller is not routing to more
than ADM can actually support.

Change-Id: Iee97dd7e5d21820c87244a422fa252c2228185f9
Signed-off-by: Patrick Lai <plai@codeaurora.org>
2013-03-15 17:07:59 -07:00
Patrick Lai
5f5e11cab1 ASoC: msm: qdsp6: avoid unnecessary check
Remove unnecessary check as it should be reasonable
to assume valid parameter would be issued through
debugfs interface

Change-Id: I1a23d8c5324b813bf9501c5462684234926b5dcc
Signed-off-by: Patrick Lai <plai@codeaurora.org>
2013-03-15 17:07:58 -07:00
Duy Truong
04e554807c Update copyright to The Linux Foundation
Change-Id: Ibead64ce2e901dede2ddd1b86088b88f2350ce92
Signed-off-by: Duy Truong <dtruong@codeaurora.org>
2013-03-15 17:07:39 -07:00
Bhalchandra Gajare
66eb764d85 ASoC: WCD9304: Fix threshold value for class G headphone
When playing a full scale tone with highest gain in the codec, OCP
(Over Current Protection) event is generated. This is caused due to
lower switching frequency for the class G amplifier on headphone
path. Fix the false OCP event trigger by appropriately setting the
class G switching frequency

CRs-fixed: 415990
Change-Id: I9563ab2d06c970b47693293175fe7ae4a711348c
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2013-03-15 17:07:16 -07:00
Haynes Mathew George
043544f462 ASoC: msm: Resume writes only for start command
For compressed and LPA drivers, set pending_buffers flag to 1 only if the client
issues a trigger_start command, not a pause_release command. This flag
is used to initiate writes to the dsp.

Change-Id: I503156863646210b460613a0b9a26a6bfb8854ed
CRs-Fixed: 442269, 449126
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
2013-03-15 17:07:10 -07:00
Damir Didjusto
0ebf5a8502 ASoC: wcd9xxx: Support earpiece ANC
Added virtual widgets for enabling and disabling earpiece ANC.

Change-Id: Ia235928c34022de89ec0e66dbe533143f4d56684
Signed-off-by: Damir Didjusto <damird@codeaurora.org>
2013-03-15 17:06:49 -07:00
Patrick Lai
833bf95817 ASoC: msm: qdsp6: check for invalid port index
Function which converts port ID to port index can return
error value if port ID is invalid. Caller should not
blindly use return value without checking

Change-Id: I02b8112b6714e3364758907e7078bcbb88d45b6b
Signed-off-by: Patrick Lai <plai@codeaurora.org>
2013-03-15 17:06:34 -07:00
Haynes Mathew George
ed135fe15d ASoC: msm: Allow drain only if a write was called
For compressed drivers, allow the drain ioctl only if
there are pending writes. Return a proper error (-EWOULDBLOCK) otherwise.

Change-Id: I4799351a8930c44d88d6968802df98896fc1531a
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
CRs-Fixed: 445370
2013-03-15 17:06:32 -07:00
Haynes Mathew George
4b8f6f68a6 ASoC: msm: proper error code for drain ioctl
If a drain ioctl on a compressed driver has been interrupted
by a reset ioctl, we need to return a proper error code for the
drain ioctl

Change-Id: I15f42a22b1cc13b3a0e2ae873adfcd1db2ac1e53
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
CRs-Fixed: 445370
2013-03-15 17:06:31 -07:00
Satya Krishna Pindiproli
0d114dfecd ASoC: msm: Fix for proxy port open failure in WFD session
When playback is paused and proxy device disabled, afe is
not closed. This results in failure of proxy port open in the second
iteration. Fix the same by closing and opening the proxy.

Change-Id: Idfa94e5756d87e59dc0101fd688d6accfe6287e7
CRs-Fixed: 447001
CRs-Fixed: 446504
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
2013-03-15 17:06:26 -07:00
Kuirong Wang
54898d0cd6 ASoC: wcd9310: Update wcd9310 compander configuration
Update the Compander register settings to remain the default
settings after the system bootup and optimize compander
configuration sequence.

Change-Id: Ib475f3bb84414546b4ead1d3f013dc173317e1b3
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2013-03-15 17:05:16 -07:00
Satya Krishna Pindiproli
aa50f8292b ASoC: msm: Fix delay in switching from WFD session
- When a running WFD session is paused/disconnected, there is
  a delay of about 10-15 seconds in switching audio from WFD
  sink to target.
- pcm_write is blocked because pausing/disconnecting the WFD
  session closes the backend DAI before a new link is established.
- Avoid closing afe if front end PCM session is still active.

CRs-Fixed: 444163
CRs-Fixed: 425512
Change-Id: I1ad6de1e201aa6130c397007219c0d370c7be2a1
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
2013-03-15 17:05:16 -07:00
Ravi Kumar Alamanda
4352c5326c ASoC: wcd9310: Correct the mixer controls for Compander switches
- Compander1 never gets enabled though the user space sets the
  corresponding mixer control.
- Compander switch kcontrols are configured wrongly as integer
  type with max value as 0.
- Correct kcontrol creation to fix the issue.

CRs-Fixed: 441091

Change-Id: Iad99b44c9226da3bcc1132e61ea989a0543ae56e
Signed-off-by: Ravi Kumar Alamanda <ralama@codeaurora.org>
2013-03-07 15:25:39 -08:00
Ajit Khare
ddfce255b8 msm: Add support for amr-wb+ non-tunnel driver
-Non tunnel playback is use case where compressed
 data is sent to driver(for decoding) and
 caller expects PCM data back from the driver.
-Add non-tunnel driver for amr-wb+.
-Add support for amr-wb+ in asm driver

Change-Id: I266e70dff0466a20b0435da840a31a8a1774cf35
Signed-off-by: Ajit Khare <ajitk@codeaurora.org>
2013-03-07 15:25:01 -08:00
Damir Didjusto
b0af32ef0e ASoC: wcd9xxx: Fix the ANC CnP
Add virtual ANC widgets which are used to enable ANC
before PA is turned on, and to disable ANC before TX is
turned off.

CRs-fixed: 387904
Change-Id: I8c2fa670062f1486499c79653a2c223f7daba84f
Signed-off-by: Damir Didjusto <damird@codeaurora.org>
2013-03-07 15:24:48 -08:00
Banajit Goswami
ced1ad3ad7 ASoC: wcd9304: avoid decrementing active channel count if already zero
During error cases, there might be situation, when slimbus channels
are being closed even when the number of active channels for
that DAI is 0. Avoid decrementing ch_act field if it is already 0.

Change-Id: Ie988eb049a20fc7cf5725ddc183ee1ae5fcb758d
Signed-off-by: Banajit Goswami <bgoswa@codeaurora.org>
2013-03-07 15:24:47 -08:00
Laxminath Kasam
cc6ce665ba ASoC: WCD9304: Fix deadlock in mutex while HS insert
-While music playback is done and PCM close sequence
is in progress, if headset is inserted this will report
headset insert to snd_soc_jack_report. But it will get
stuck here waiting for lock that is already acquired by
DAPM at PCM stream close snd_soc_dapm_stream_event.
-Change the function call used to report insert/removal
from snd_soc_jack_report to snd_soc_jack_report_no_dapm
that fixes this deadlock.

CRs-Fixed: 429766
Change-Id: I167e45bdce9790ff7e878528629c4d652029bf26
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2013-03-07 15:24:43 -08:00
Asish Bhattacharya
b33d88418a ASoC: compr: change sequence of softvol
As the ASM session is opened in hw_param the soft volume does
not take effect. Hence move it to hw_param so its applied after
asm open.

CRs-Fixed: 434323
Change-Id: I1ce24d74382bd2c1926df2d63ff2eb40b0652f95
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2013-03-07 15:24:39 -08:00
Subhash Chandra Bose Naripeddy
35959923a9 ASoC: msm: Decrease the playback period size of PCM driver
To support the deep buffer output, the playback buffer size is
increased to 4k from 2k. Reverting the change as the support for
deep buffer output is no longer valid.

Change-Id: I5034245bde4b55a5816506fbdfeac970a8e7804b
CRs-Fixed: 438177
Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
2013-03-07 15:24:37 -08:00
Phani Kumar Uppalapati
eb09a2ab1d ASoC: msm: Modify min and max period bytes and num periods
Modify min and max period bytes and number of periods in
compressed driver so as to be consistent with lpa and to
meet ION memory requirements. This avoids using huge
buffer sizes for tunnel decode.

Change-Id: Ib71da4cebfc097e7aeaf0ca0e65ee847ba7cceb7
Signed-off-by: Phani Kumar Uppalapati <phanik@codeaurora.org>
2013-03-07 15:24:16 -08:00
Simmi Pateriya
c48395436b ASoC: apq8064: Fix button detection voltage thresholds
Recent measurements indicate that the button threshold voltages
have changed. Adjust the button voltages accordingly

CRs-fixed: 432596
Change-Id: Ibee4db3b9c76df1d464dcad443f0f90d24751ee3
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2013-03-07 15:23:52 -08:00
Mitchel Humpherys
5ebf0bb53c ion: change ion kernel map function to not take flags argument
Buffer flags are going to be specified at allocation time rather than
map time. This removes the flags argument from the ion kernel map
function.

Change-Id: Ib983ecd0dcd7befb36287ae7037c71d4ca475f90
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-03-07 15:23:16 -08:00
Stepan Moskovchenko
88a16cc82a msm: Refactor cpu_is macros into SoC classes
Refactor common combinations of cpu_is macros into logical
SoC class macros to reduce the maintenance burden of
implementing support for additional product variants.

Conflicts:

	arch/arm/mach-msm/include/mach/socinfo.h

Change-Id: I6916dcb30378cd3ba33ea8d863403f93f62a13f2
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:23:00 -08:00
Hanumant Singh
19cc56631b ion: Port heap mask change to ion
Heap mask field passes as argument at allocation time to specify ion
heap.

Change-Id: I6951da81b11bfcb0e006d2539c1707aabbb12db6
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-03-07 15:22:59 -08:00
Subhash Chandra Bose Naripeddy
6c3753b13b ASoC: msm: Fixes for underrun issue in LPA Playback
Update LPA platform driver to register restart callback.
The implementation of the callback is to issue a pending buffer
written by the application to restart the session when the dequeue
process is stopped due to underrun issue.
The callback is triggered from ALSA core when the framework
detects that the renderer stopped pulling data but the application
is still writing data. It runs in atomic context.

Fixes:
-A disturbance was heard when switching from one song
to the other, or when the song is paused for greater
than 3 seconds and then resumed
-This was due to the previous value of the track
volume being used in the lpa driver
-This was fixed by setting 0 as the initial volume

Change-Id: I035760937d032038fb3f3383dc87ecbdc5f4700d
Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
2013-03-07 15:22:21 -08:00
Phani Kumar Uppalapati
8e3c504629 kernel/msm: 8974: Audio ocmem driver changes to use bus dt APIs
Populate bus vectors for the audio ocmem driver with use of new
bus device tree APIs.

Change-Id: If965c269706763a3a67b22243f265429f23427d6
Signed-off-by: Phani Kumar Uppalapati <phanik@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:07 -08:00
Phani Kumar Uppalapati
5803131281 ASoC: msm8974: Audio ocmem driver changes to fix playback issues
Fix issues when alloc grow, shrink requests received while display
off/on. Add return statement to the audio/voice workqueue for the safe
exit.

Change-Id: Ifda7823f68ef0f26b9fe781c4c509c7633291169
CRs-fixed: 404445
Signed-off-by: Phani Kumar Uppalapati <phanik@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
2013-03-07 15:22:06 -08:00
Vicky Sehrawat
c854811a66 Asoc: msm: Mixer control to update the sample rate of HDMI interface
Updating the sample rate for the compressed stream playback of the HDMI
interface through the mixer control. For APQ8064, MSM8930 and MSM8960

Change-Id: I61d598e2eff546bfc053c5301f992fb7d9ba3268
CRs-fixed: 405772
Signed-off-by: Vicky Sehrawat <vickys@codeaurora.org>
2013-03-07 15:21:56 -08:00
Santosh Mardi
dcc8744c9d ASoC: msm: Register restart api for under run issue.
Update compressed platform driver to register an restart callback.
Implementation of the restart callback is to issue an pending buffer
Written by application to restart the session when  the de queue
Process is stopped due to underrun issue.

Restart callback is triggered from the ALSA core framework when
Framework detects that the render stopped pulling the data
And application is writtig the data.

This callback will be running in atomic context.

Change-Id: Iada382f39bd052beeb0b1d165959d510fa51ff7c
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2013-03-07 15:21:55 -08:00
Santosh Mardi
fb7be07c92 ASoC: soc: Update the restart op of the platform driver.
Update SoC framework to update the restart callback registerd
By platform driver, which inturn be used by ALSA core framework
To trigger the restart callback during the under run issue to
To recover from hang state.

Change-Id: I70f47c0d295526e7f35d4a4f9024e0e87dbc2455
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2013-03-07 15:21:55 -08:00
Santosh Mardi
dec3f44a64 ASoC: core: Update ALSA core to issue restart in underrun.
When compressed and pcm session is started the buffer pull will
Be from the DSP, in mmap mode for the scenario Hardware pointer
Is same as application pointer implies application has not filled the
Buffer to be send to DSP, and platform driver has to break and restart
The de queue process when the application has sufficient buffers.

When hardware pointer is same as application pointer it is an under run
Scenario where the ALSA framework has to trigger the under run and in HAL
The session has to re-prepare and re-triggered. based on the stop
Threshold, but in our system the stop threshold is INT_MAX which
Indicates that under run is not triggered in practical cases.

We have a brodcast usecase in which the mentioned under run case
Is hit mulitple times, and every time re-prepare and re-trigger will be
Expensive

Update the ASoC core framework to restart de queue process stopped
By platform Driver when the under run is hit, based on the available
Buffer and render flag, so the System will recover from the hang state.

To restart de queue process the ASoC core will be calling the restart
Callback registered by platform driver and this callback will be running in
Atomic context.

Change-Id: Ic9ea05a0dc6246346e9913493232882e2f5447d1
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2013-03-07 15:21:54 -08:00
Santosh Mardi
0facfd9f66 ASoC: msm: Enhance multi channel pcm driver to support SYNC and ASYNC
Enhance the multi channel pcm platform driver to support SYNC and
ASYNC mode

Change-Id: Ieca18864ce68055f7806be487b487d305bee2af8
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2013-03-07 15:21:29 -08:00
Ajit Khare
9ebff212cd ASoc: msm: Add amr-wb/wb+ tunnel playback support
Update compress audio platform driver
to support amr-wb/wb+ tunnel mode playback.

Change-Id: I98d087db490441c57c8e2d4fe03a7e91b28e67fc
Signed-off-by: Ajit Khare <ajitk@codeaurora.org>
2013-03-07 15:21:29 -08:00
Phani Kumar Uppalapati
3fb13a4e2c ASoC: msm8974: fall back to have AFE port started at prepare
After upgrading to kernel 3.4, there is 5 second delay
at the closing of PCM playback. The delay is due to missing
EOS from QDSP6 audio session manager causing pcm close function
of PCM platform driver to wait for 5 seconds. The root cause
for missing EOS is that ALSA dynmic PCM shutdown sequence has
changed. Now, trigger stop is called on the back-end DAI-LINK.
Furthermore, back-end trigger stop is called before front-end
trigger stop. Since sink stops rendering data, data at source
will never get consumed. EOS event will not arrive. As trigger
operation has to be atomic, it is very difficult to guarantee
sequence on shutting down various modules in QDSP6. The decision
is to abandon starting and stopping QDSP6 AFE port in trigger
function. This decision is considered acceptable as playback
and capture over SLIMBUS is no longer subject to strict sequence
which Q6 AFE port must be started after CODEC configuration.

Change-Id: Ief351168b08d5cca0a76405834cf3d6aa14a3941
Signed-off-by: Phani Kumar Uppalapati <phanik@codeaurora.org>
2013-03-07 15:21:28 -08:00
Krishnankutty Kolathappilly
671c670fb7 ASoC: msm: implement drain command in compress platform driver
Currently, at the end of compress audio playback, session is
terminated without ensuring compressed audio stream is completely
rendered. Use ioctl drain to drain out all the data before EOS is
signalled and session is closed. This is to make sure all the
data is played out by DSP.

CRs-Fixed: 390897
Change-Id: I3e39b210a8924180de9eb4453c6f6f6435ded0ee
Signed-off-by: Krishnankutty Kolathappilly <kkolat@codeaurora.org>
2013-03-07 15:21:28 -08:00
Subhash Chandra Bose Naripeddy
e5096b309f ASoC: msm: Add 8-channel L-PCM TX support
There is use case that the HDMI input goes through MI2S TX
interface to ADSP. Add 8-channel L-PCM TX support for this
use case.

Change-Id: Iaf10ec357a25fe4cf80e36a2ceba3d113e9b0416
Signed-off-by: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
2013-03-07 15:21:27 -08:00
Joonwoo Park
52f55e9f1e ASoC: wcd9310: Resend edge triggered GPIO IRQ
If MBHC GPIO IRQ for mechanical headset detection asserted while power
management's suspend call chain is being called, wcd9xxx_lock_sleep will
fail to wait for system's resume since power management interface has
to finish suspend in order to resume system.
In this case, interrupt cannot be handled as codec driver cannot
guarantee if underlying bus is awake.
Wake up system and resend the IRQ for this situation.

(cherry picked from commit ecf379cd17b7fe94e6f0df0598a472b6f1828ad5)
(cherry picked from commit bdda99b93915d217150f5484f9c718c905703f1e)
CRs-fixed: 404167
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>

Change-Id: Id5970b359b80e0cd1f701b30c61ade23e0f67b9e
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:21:09 -08:00
Bhalchandra Gajare
e11f472d33 ASoC: WCD9304: Fix pop level during start of recording
When recording is started, it is observed that the pop level is
much higher than expected. Fix this issue by enabling the High
Pass Filter on microphone path with a cut off frequency of 150Hz
when recording starts and reprogram the cut off frequency back
after a timeout of 300 millisecond.

CRs-fixed: 380966
(cherry picked from commit f9ed163835d1634a86cabc233d85bfe857f0eacf)
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>

Change-Id: If98dfaf0f9b8f14c306f2d6a59154a615752823b

Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:21:05 -08:00
Banajit Goswami
0c7c7dc9c9 ASoC: pcm: allow backend hardware to be freed in pause state
When front-end PCM session is in paused state, back-end PCM
session will be put in paused state as well if given front-end
PCM session is the only client of the given back-end. Then,
even though the application closes front-end PCM session, DPCM
framework will not allow back-end to enter into HW_FREE state,
and hence back-end will never get shutdown completely.

(cherry picked from commit 6479fa2d82c5fa8b756a4755bc84e2ce48dad850)
CRs-fixed: 411089
CRs-fixed: 409894
Signed-off-by: Banajit Goswami <bgoswa@codeaurora.org>

Change-Id: I4d4f856a0401ff96cef98d374c1d12b10e124528
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:21:04 -08:00
Jayasena Sangaraboina
26f9e0e9d1 ASoc: msm8930: Add fix for Unsupported Proxy backend sample rates
- AFE does not support sampling rate 44.1k
- This fix addresses the issue by setting backend proxy device
sampling rate to 48k

(cherry picked from commit 69ab7356a72981032d5d403ec1508dcfaeb7075f)
CRs-fixed: 413871
Signed-off-by: Jayasena Sangaraboina <jsanga@codeaurora.org>

Change-Id: Ic067178f9d4cdb51b8fee5292b960922088c8539
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:20:58 -08:00
Bhalchandra Gajare
1cb63628d8 ASoC: WCD9304: Wait for earpiece PA to settle down
During playback of audio on earpiece path, the PA on the path
is the last component to be turned on. The turn on of PA can
cause a glitch in the output signal because the level of the PA
is not yet settled. Waiting for 20 msec after turning on the PA
avoids this glitch.

CRs-fixed: 417031
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
(cherry picked from commit 1fa994d4aa256a536523f116232c4822b3495400)

Change-Id: Iaa7a47526c71d8b037df3d09cf30ede296c21356
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
2013-03-07 15:20:57 -08:00
Bhalchandra Gajare
59a477d976 ASoC: msm8930: Add speaker playback support for 8930+8917
PM8917 does not have speaker amplifier, hence the codec lineout
is directed to the speaker through a onboard amplifier. The
amplifier needs to be enabled in order for speaker playback
to work on a target with PM8917

Change-Id: Ic9f16d335bc1a0cef6fb1eb93c1617fd086cc5b7
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
(cherry picked from commit f6d1f7261de810bb07429c25b99187328359b8c4)
2013-03-07 15:20:15 -08:00
Mingming Yin
5379aca632 ASoC: msm: reduce period_bytes_min for voice call
- Allow smaller buffer size for voice call to
  comply with MR1 audio HAL

Change-Id: Iaffca753ad07889b08ae4b6154e8d596950a979e
Signed-off-by: Mingming Yin <mingming@codeaurora.org>
2013-03-07 15:20:12 -08:00
Jay Chokshi
af5646b4a1 msm: Add support for APQ8064AB variant.
Update the call sites of cpu_is_apq8064() to include an
additional check for the APQ8064AB target where
appropriate.

Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
(cherry picked from commit 11abd8bdf369e6ddaf5569e780f2c62180095653)

Change-Id: I3cc0ba7279ce6e111d1b87933a8f8251ca306830
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:19 -08:00
Kiran Kandi
efeae841b9 WCD9320: Add support for class H controller
The class H controller is embedded in the digital hardware.
Its purpose is to analyze the signal which will be sent to
the PAs (EAR or HPHL/HPHR) to adjust the supply voltage of
the PA to make the system as efficient as possible.

Signed-off-by: Kiran Kandi <kkandi@codeaurora.org>
(cherry picked from commit 4c56c594c16b5f730af3538829cae4e102ac17f5)

Change-Id: I5c269a917427cef918e06eb4599383fd725c3a92
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:19:04 -08:00
Asish Bhattacharya
0665d30db8 ASoC: wcd9304: reconfig LDO_H_MODE_1 to the ldoh from board file.
The LDO_H_MODE_1 is reset bandgap off mode. This needs to be reconfigured
for audio mode.

CRs-Fixed: 378182
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
(cherry picked from commit 63032b49f45f61660a46acd61bbf529d62ea4d36)

Change-Id: I9fd94624619efc615141f720d8de93e21eafe97a
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:48 -08:00
David Collins
fc10b826c1 msm: board-8064: Add support for remapped PM8917 GPIOs
Add support for APQ8064 + PM8917 CDP by conditionally remapping
GPIOs based upon the presence of a PM8917 chip.  GPIOs are
remapped as follows (unmentioned GPIOs are not remapped):

PM8921  PM8917
6       N/C
8       N/C
16      N/C
19      16
30      N/C
37      N/C
38      30
39      19
40      N/C
41      6
42      8
43      37
44      38

Change-Id: I67b385a288a4dbb2843d97dbea6e287b02e621ed
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit d49a1c5c4ca6939745aefd7c872b9299acfb69db)

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:31 -08:00
Helen Zeng
01f8e5d872 ASoC: msm: Add support for voice over USB.
Add routes to transfer voice packets to/from the
external modem to USB in APQ, and route the mixed
audio and voice streams to the extertal modem for
echo cancellation.

Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
(cherry picked from commit 5cf6970f74261aecca981c1ee14e5a62e4466bbd)

Conflicts:

	sound/soc/msm/msm-pcm-routing.c

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit 0f6ff949a8dac48f7d5771fafbe366e4f4bcc28e)

Change-Id: I6be578ebeadb7ebe0ad6fb7a344eb7cb3a411eee
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:09 -08:00
Joonwoo Park
8c1c7de73b ASoC: wcd9310: Fix NULL pointer dereference.
If sound card is not yet initialized the platform device's private data
is not set either.  Check if private data is NULL before use it.

CRs-fixed: 400055
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
(cherry picked from commit d6e48bd07516ecc683a995ebf8eedf080f14016d)
(cherry picked from commit 87ba6ce49d4f50ad089702135e84ecad5446bfad)

Change-Id: I94e45366d8f316ea8e69def48cc926cdd971f5a6
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:08 -08:00
Kuirong Wang
3589f26bba ASoC: apq8064: Enhance the machine type check for apq8064 devices.
There are cases that some of apq8064 devices has soc minor version as
1 but not apq8064 i2s device. Add the machine type check to enforce
only mpq8064 and apq8064 I2S devices won't use apq8064 machine driver
and rest of apq8064 devices will keep using apq8064 machine driver.

Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
(cherry picked from commit f993eac79891cf519f7a6ab8df274467aa9b273e)
(cherry picked from commit 3c14d0817579453170d49e3fd2d70b108e135dcc)

Change-Id: I5f21a4a3755a9f43c8d2d90f106dc24710671798
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
2013-03-07 15:18:08 -08:00