Commit Graph

3761 Commits

Author SHA1 Message Date
Linux Build Service Account
fcda1ca507 Merge changes I124a4ba1,Idf7c4e53,I09411d46,I4f270a41,Icd7e6002,I56a14e86,Id91ac5e6,Ia1abd831 into msm-3.0
* changes:
  regulator: map consumer regulator based on device tree
  regulator: pass additional of_node to regulator_register()
  regulator: adapt fixed regulator driver to dt
  regulator: helper routine to extract regulator_init_data
  regulator: Constify constraints name
  regulator: Properly register dummy regulator driver
  dt: add empty dt helpers for non-dt build
  copper: regulator-stub: Add devices for Krait Power Control
2012-03-31 01:14:46 -07:00
Rohit Vaswani
a76e99abc5 Merge branch 'Linux 3.0.21' into msm-3.0
Merge Upstream's stable 3.0.21 branch into msm-3.0
This consists 814 commits and some merge conflicts.

The merge conflicts are because of some local changes to
msm-3.0 as well as some conflicts between google's tree and
the upstream tree.

Conflicts:
	arch/arm/kernel/head.S
	drivers/bluetooth/ath3k.c
	drivers/bluetooth/btusb.c
	drivers/mmc/core/core.c
	drivers/tty/serial/serial_core.c
	drivers/usb/host/ehci-hub.c
	drivers/usb/serial/qcserial.c
	fs/namespace.c
	fs/proc/base.c

Change-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2012-03-30 00:09:34 -07:00
Linux Build Service Account
3321da6833 Merge changes I2cabb2d6,Idffba143 into msm-3.0
* changes:
  ASoC: msm8960: properly protect external mclk control function
  ASoC: wcd9310: Add plug detection through mechanical switch
2012-03-29 14:17:01 -07:00
Rajendra Nayak
11eafc62cd regulator: pass additional of_node to regulator_register()
With device tree support for regulators, its needed that the
regulator_dev->dev device has the right of_node attached.
To be able to do this add an additional parameter to the
regulator_register() api, wherein the dt-adapted driver can
then pass this additional info onto the regulator core.

Change-Id: Idf7c4e532cc06fd00b8182b635d15dcfafb2cef9
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
[mbohan: Update regulator_register for msm regulator drivers]
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
2012-03-28 10:39:59 -07:00
Linux Build Service Account
49d2c1a43a Merge "ASOC: msm: Allocate separate memory for VoIP calibration" into msm-3.0 2012-03-28 08:50:40 -07:00
Joonwoo Park
28f49c84ac ASoC: msm8960: properly protect external mclk control function
Both audio path and MBHC accessory detection logic need master clock
enabled along with bandgap and clock block of CODEC. Clock control
is managed by the machine driver. Calls to clock control function from
audio and MBHC detection paths can be nested. As a result, reference
counter of master clock is incremen/decrement out of order and cause
master clock not enabled when audio path is enabled. Without master clock
CODEC will not consume data and this leads to SLIMBUS overflow error.

Change-Id: I2cabb2d6db4c0129716489672e34a49cc21cea08
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2012-03-27 18:24:23 -07:00
Joonwoo Park
d7cf2e931c ASoC: wcd9310: Add plug detection through mechanical switch
Use mechanical switch on the phone jack to detect headset/headphone
insertion and removal.  Mechanical switch is beneficial to avoid fake
button press and high impedance microphone headset detection.

CRs-fixed: 341402
Change-Id: Idffba14316ab25e07736d1b7385f0edb16216089
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2012-03-27 18:21:44 -07:00
Helen Zeng
6e64dbafc0 ASOC: msm: Allocate separate memory for VoIP calibration
In current design, voice and voip calls share the same
memory for calibration data. But DSP doesn't support to map
the same memory twice. This will cause crash in DSP when trying
to make voice call and voip call concurrently.
In voice driver, allocate the separate memory to store voip
calibration data.

Change-Id: I52bf0554f88610ab8088571739aa0a72cff69f39
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
2012-03-27 10:57:42 -07:00
Kiran Kandi
5f4ab691c5 ASOC: msm: close AUX PCM when both RX and TX are closed.
AUX PCM RX and TX interfaces have to opened together and closed
together for AUX PCM HW interface to work correctly. Currently
as soon AUX PCM RX interface is closed AUX PCM TX is also closed.
Correct this by opening AUX PCM HW interface as soon one of
AUX PCM RX and TX is opened and close the AUX PCM HW interface
when both AUX PCM  RX and AUX PCM TX  interfaces are closed.

Change-Id: I3790ce2fd4d7957ea0278955e791aca28d5c3db7
CRs-Fixed: 337425
Signed-off-by: Kiran Kandi <kkandi@codeaurora.org>
2012-03-26 15:51:24 -07:00
Sriranjan Srikantam
b52f007fe0 ASoC: msm: Reset pcm irq position in WRITE_DONE event
Pcm irq position is incremented by one extra period size if
WRITE_DONE event is received during paused state as elapsed
is not called and as a result playback gets muted sometimes
Fix this mute issue by resetting the pcm irq position in
WRITE_DONE event instead of pointer operation

Change-Id: Ia33e5188674b1f6a54619169b84bdd5be22ad73a
CRs-Fixed: 344436
Signed-off-by: Sriranjan Srikantam <cssrika@codeaurora.org>
2012-03-24 11:57:58 -07:00
Linux Build Service Account
f241e16031 Merge changes Ibfd4ba25,Ifc6054cd into msm-3.0
* changes:
  ASoC: wcd9310: Add high impedance headphone detection support
  ASoC: jack: Add API report sock jack without DAPM sync
2012-03-22 15:52:14 -07:00
Joonwoo Park
0332483368 ASoC: wcd9310: Add high impedance headphone detection support
If HPHL and HPHR have relatively high impedance, internal MBHC HPHL
trigger cannot trigger so results in headphone/headset detection
failure.
Utilize MIC trigger as well as HPHL trigger in order to detect headphone
and headset which have high impedance on headphone line.

CRs-fixed: 339390, 337590, 336847, 334339
Change-Id: Ibfd4ba254197233f2b5e253f5d1fa2a98c848c97
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2012-03-21 19:33:02 -07:00
Shiv Maliyappanahalli
f94fba310a ASOC: msm: Add machine driver for mdm9615
MDM9615 machine driver is added to support MDM9615 with ALSA FE/BE
architecture. It provides a glue between MDM9615 platform driver
and WCD9310(TABLA) codec driver.

Change-Id: Ie5e8d7257d10b1061ff09ce6ed7494092b2d31b9
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2012-03-20 10:32:57 -07:00
Joonwoo Park
a909e1258f ASoC: jack: Add API report sock jack without DAPM sync
Currently snd_soc_jack_report() always acquires codec->mutex and
synchronize DAPM widgets.  This automation is helpful if jack has defined
widget.  However if codec driver doesn't have defined jack widget and
non-jack widget wants to synchronize with report_sock_jack's thread which
is usually irq handler, it can make dead-lock as all DAPM widget
call-backs are called after codec->mutex acquisition.
Add new API snd_soc_jack_report_no_dapm() so codec driver can have ability
of control DAPM synchronization part of snd_soc_jack_report()

Change-Id: Ifc6054cd8b6d8a6b52517cf84baca1e3949e09fe
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2012-03-19 19:32:14 -07:00
Neema Shetty
3c9d286936 ASoC: msm: Add support for voice over Bluetooth
Add support for Slimbus channels between external modem and APQ.
These channels transfer voice packets to/from the modem to the
BT stack on APQ.

Change-Id: I48bd5248104719574fbc6cf52edfb92cff79bff9
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>
2012-03-17 02:04:01 -07:00
Linux Build Service Account
8ad0a66fa2 Merge "ASoC: msm: Fix a bug in the audio FE check" into msm-3.0 2012-03-15 02:36:15 -07:00
Bhalchandra Gajare
b0f151319c ASoC: WCD9310: Enable AUX PGA loopback support
Aux PGA (Auxiliary Programmable Gain Amplifier) interface on the
audio codec is used to loopback the analog audio signal from
input (line-in) to output (line-out/HPH/EAR) only through the
analog domain of the codec. AUX PGA also supports analog gain,
which is used to control the gain of the input signal

For WCD9310, line-in5 is used as AUX PGA Left and line-in6 is
used as AUX PGA Right. Add mixer controls to enable routing
AUX PGA inputs to all possible outputs

Change-Id: I85a7865528aa3b2455c190b2617754fe22f3d24a
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2012-03-14 14:00:22 -07:00
Linux Build Service Account
e8bb2ed3c9 Merge "apq8064: MBHC single button detection not working" into msm-3.0 2012-03-14 00:34:42 -07:00
Linux Build Service Account
524e336d94 Merge "ASOC: msm: Modify debug messages and conditional checks" into msm-3.0 2012-03-13 22:03:22 -07:00
Swaminathan Sathappan
4ea7f1a00a apq8064: MBHC single button detection not working
Modify MBHC Button values to make MBHC button detect work

Change-Id: I6eeefed49124c876946677b02902fa1fd675a40a
Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>
2012-03-13 16:34:42 -06:00
Kuirong Wang
1bd26c67fb ASoC: msm: Fix a bug in the audio FE check
It is found that recording from MI2S audio HW path
is broken. The reason is that the check to validate
the front-end ID is compared to wrong ID.

Update the comparson so that the correct front-end
ID is used.

Change-Id: Ie7ede2cac755a6ec85b2e6f2143d5b2252a721b4
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2012-03-12 15:39:38 -07:00
Bharath Ramachandramurthy
94ad7e271f ASOC: msm: Modify debug messages and conditional checks
Modify debug messages, remove deprecated functions,
proper handling of local pointers, check valid range
of values in conditional checks, check array boundaries
in conditions

Change-Id: I0b20297261727143ec3099599274916404007463
Signed-off-by: Bharath Ramachandramurthy <bramacha@codeaurora.org>
Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>
2012-03-12 11:14:17 -07:00
Joonwoo Park
cb7c8920c5 ASoC: wcd9310: Update hardware version dependent register address
There are codec registers which have different addresses depending on
hardware version.  Update registers' address correctly.

CRs-fixed: 340283
Change-Id: If848f71a40d244ee900dc86608058749c334ff4b
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2012-03-12 09:42:53 -07:00
Linux Build Service Account
84b4714c61 Merge "ASoC: msm: Send a write done in paused state" into msm-3.0 2012-03-10 09:51:46 -08:00
Linux Build Service Account
53221abe40 Merge "ASoC: wcd9304: Add run-time PM to codec startup and shutdown functions" into msm-3.0 2012-03-09 16:37:44 -08:00
Linux Build Service Account
6c43d7bb9f Merge "apq8064: Rename sound card to represent codec type" into msm-3.0 2012-03-08 20:43:43 -08:00
Asish Bhattacharya
1d0695304c ASoC: wcd9304: Add run-time PM to codec startup and shutdown functions
The suspend currently goes on a blocking state due to the locks.
These locks have been moved to parent device in mfd core driver
for safe codec read write and hence no need for duplicate locking.

Add the run-time PM call to wcd9304 codec so Slimbus driver
keeps Slimbus clock on when the codec driver knows there is going
to be audio streams running on the codec.

Change-Id: Id3bf6ce9da5f7bd882c8c2bf927527d16f197bc0
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2012-03-08 11:03:24 -08:00
Linux Build Service Account
5dc430e370 Merge "ASoC: core: Fix the suspend/resume failure" into msm-3.0 2012-03-08 06:20:55 -08:00
Linux Build Service Account
c4370f174b Merge "ASoC: wcd9310: Add the compander support to wcd9310" into msm-3.0 2012-03-07 23:37:05 -08:00
Tejas Shikhare
394dc966e3 ASoC: msm: Send a write done in paused state
Send a write done event as timer interrupt in paused state to
resolve the concurrency between between pausing and completion of
buffer

Change-Id: I83cd6a4db03479d0d63608dc47f8ba862fbb3341
CRs-Fixed: 340469
Signed-off-by: Tejas Shikhare <tshikhar@codeaurora.org>
2012-03-07 20:28:31 -08:00
Swaminathan Sathappan
c165a3ad90 apq8064: Rename sound card to represent codec type
Each target can support different codec and new sound
card has to be registered based on the codec and the
target type.

Change-Id: I414745462686077f2bc7469b2b7728d354aca43c
Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>
2012-03-07 10:23:35 -08:00
Kuirong Wang
5ab054fb06 ASoC: core: Fix the suspend/resume failure
The suspend/resume schedule work fails because of the
uninsantiated sound card. The fix is to skip the
schedule work for the uninsantiated sound card.

CRs-fixed: 339411
Change-Id: I224fc94578b4834c5bc187151e84e6ed83d737bd
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2012-03-05 16:22:31 -08:00
Kuirong Wang
0f8ade328b ASoC: wcd9310: Add the compander support to wcd9310
The compander system is intended to increase the dynamic
range of an input signal. But for the wcd9310 codec,
this feature is to use companding in a novel way in the DAC
converter path to increase the signal noise ratio.

The change is to add the compander support to wcd9310
codec. The dynamic compander enable/disable during stream
playback is not supported.

Change-Id: I916a5e4cc0a06516a691bbdcdf0103dcb7b0398c
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2012-03-05 13:42:46 -08:00
Laxminath Kasam
692c654345 msm: audio: qdsp6v2: Fix noise issue while SSR
- When SSR is done, we hear an extra noise sound.
- During SSR, Q6 is stopped and AUDIOIF will send the
left over samples in DMA buffers continuously to codec
resulting in noise.
- Disable the active SND devices when SSR is initiated.
This will avoid any noise happening while SSR in progress.

Change-Id: I1a14494a52607a8245231395bab6b14ad4a02d53
CRs-Fixed: 333915
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2012-03-05 07:32:11 -07:00
Linux Build Service Account
beaaaa5e6e Merge "ASoc-msm: Modify ASM drivers to invoke ION APIs" into msm-3.0 2012-03-05 04:43:58 -08:00
Linux Build Service Account
42cc8a35e2 Merge "ASoC: msm: avoid routing setup on established path" into msm-3.0 2012-03-05 04:43:58 -08:00
Linux Build Service Account
a6df7ca3db Merge "ASoC: wcd9310: Add run-time PM to codec startup and shutdown functions." into msm-3.0 2012-03-05 04:43:58 -08:00
Linux Build Service Account
1a2396de25 Merge "ASoC: msm: Initialize the timeout of DAPM powerdown as zero for voice call" into msm-3.0 2012-03-05 04:43:58 -08:00
Linux Build Service Account
58f6ad0e32 Merge "ASoC: msm: Add mixer control to mute rx device" into msm-3.0 2012-03-03 00:26:25 -08:00
Helen Zeng
6865693372 ASoC: msm: Add mixer control to mute rx device
In answer machine use case, voice rx is muted and
the voice is recorded into file.
The mixer control command is added to mute the rx device.

CRs-Fixed: 338015
Change-Id: I1c71ed4129e8aa2fb7241e2f1fdb77db472235a8
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
2012-03-02 15:26:06 -08:00
Linux Build Service Account
70d0c3179b Merge "ASoC: msm7x27A: Add mmap support for playback" into msm-3.0 2012-03-02 15:07:43 -08:00
Linux Build Service Account
47dddfe208 Merge "ASoc: msm: Fix calibration memory map" into msm-3.0 2012-03-02 15:07:43 -08:00
Linux Build Service Account
d5b6c3c92f Merge "ASoC: msm: Add AAC support for compressed audio" into msm-3.0 2012-03-02 15:07:43 -08:00
Swaminathan Sathappan
bdc5508dbc ASoc-msm: Modify ASM drivers to invoke ION APIs
Create ION client and allocate buffers based on
the client handle and free the buffers when no
more needed

Change-Id: I00be9dbd3e8f5eff286d8f1bc0d61656866bf360
Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>
2012-03-02 13:10:02 -08:00
Kuirong Wang
a545e72f19 ASoC: wcd9310: Add run-time PM to codec startup and shutdown functions.
Add the run-time PM call to wcd9310 codec so Slimbus driver keeps Slimbus
clock on when the codec driver knows there is going to be audio streams
running on the codec.

Change-Id: I1dceb27e200a87d2b5e7a60d6361b6399c1a1381
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2012-03-02 11:57:01 -08:00
Helen Zeng
f3b17fbda2 ASoC: msm: Initialize the timeout of DAPM powerdown as zero for voice call
The default timeout of DAPM power down for RX path is 5000, which
is used to prevent click and pop for playback. But it's too long
for voice call and causes the back to back call and device switch
to not work.
Change this value to 0 to reduce the shutdown delay for voice call.

Change-Id: I705a2cb1efa4432b32d1f3e9d98f47ae124966cc
Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
2012-03-02 10:16:19 -08:00
Linux Build Service Account
c301fec818 Merge "ASoC: msm: Add mixer control to set dtx" into msm-3.0 2012-03-01 20:48:39 -08:00
Asish Bhattacharya
c1c701f2e7 ASoC: msm7x27A: Add mmap support for playback
Change-Id: I5a7eaa519b8146d2697b3c65ea1a08a3c8feacb3
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
Signed-off-by: Phani Kumar Allada <pallad@codeaurora.org>
2012-03-01 10:20:41 +05:30
Asish Bhattacharya
b86c3477a8 ASoC: wcd9304: Add driver for Sitar codec.
Add support for 5 RX and 4 TX Slimbus channel support.
Headphone/Earphone/4 DMIX/2 AMIC and IIR1 support

Change-Id: I1b7ad5e5fd9d87aab80d6533503371e63df8cc0a
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2012-02-29 15:31:34 -08:00
Asish Bhattacharya
b1aeae22ff ASoC: wcd9xxx: Move to a generic framework for codec core driver.
The current core assumes TABLA as the only codec driver registering.
To support single binary for multiple targets its essential that
we remove this restriction and move to a generic framework
to support multiple codec. This can be done by moving all codec
specific code to dedicated codec driver and use core driver to probe
the codec based on slimbus device id and do generic setup for the
codec. This also helps to have same boards with different flavours
of codec variants.

The WCD9XXX family of codecs share the initial codec register
mapping which holds the Slimbus device id to identify the
codec existing on the target.Core driver now registers the
codec device based on this check.

Change-Id: I4c43d5f04c20696f4f5138411460681ec7879d34
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2012-02-29 15:31:15 -08:00