Commit Graph

19280 Commits

Author SHA1 Message Date
Linux Build Service Account 5c0d40a8f2 Merge "ASoC: msm: qdsp6v2: update Configuration ID for multi AAC decoder" 2015-09-14 08:56:54 -07:00
Simmi Pateriya dea18e96c9 ASoC: wcd: enable mbhc interrupts after SSR
After ssr mbhc interrupts need to be enabled for mbhc
to work. If mbhc_init is not called, there are no
interrupts enabled. Call the api so that mbhc is
initialized properly.

Change-Id: I64ba4b8de50da2b527e20c90f99c79c49fabfed3
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2015-09-12 00:13:32 -07:00
Linux Build Service Account d4860d48f2 Merge "ASoC: msm: qdsp6v2: move frame info to be per session based" 2015-09-11 19:52:58 -07:00
Patrick Lai 8f45a15a51 ASoC: msm: qdsp6v2: move frame info to be per session based
When audio stream manager returns READ_DONE event, the payload
which comes with the event contains size of captured audio data
and offset indicating where the data starts in the buffer.
Before this change, size and offset information is stored in
global variable which can be shared by all capture sessions.
If the offset is overwritten by another session with larger value,
buffer can be indexed beyond actual size of buffer when copying
captured data into user-space buffer. Move the structure as part
of per session private data to prevent overwriting.

Change-Id: Iaee12b0153b945a315e95c862fa2522cbd69c6f8
Signed-off-by: Patrick Lai <plai@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2015-09-10 10:03:34 -07:00
Linux Build Service Account 2a22ee5e98 Merge "ASoC: wcd_cpe_core: Improve exception error handling" 2015-09-10 09:53:25 -07:00
Linux Build Service Account d39d513e99 Merge 2369dd6e4d on remote branch
Change-Id: I29f6eb81e8c3f79fae492d8d01a5a1ea0048d80e
2015-09-07 00:52:40 -06:00
Linux Build Service Account cf5c649159 Merge "ASoC: wcd-mbhc: Add support for hph auto pull down" 2015-09-05 08:09:22 -07:00
Bhalchandra Gajare 3984c5c4c0 ASoC: wcd_cpe_core: Improve exception error handling
CPE (Codec Processing Engine) block in the hardware has multiple
exception interrupts. When CPE crashes, it is possible it will generate
multiple and spurious exception interrupts. This is causing some
interrupts to be missed. Fix this by making sure interrupts that are
serviced are masked to avoid spurious interrupts and pending interrupts
are serviced to avoid missing interrupts.

CRs-fixed: 874196
Change-Id: I63f3ef2eac3f194d5e535c607893236d3ae6a4ab
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2015-09-04 14:39:32 -07:00
Linux Build Service Account 8a995b66eb Merge "ASoC: dapm: Fix double lock of dapm mutex" 2015-09-04 11:15:44 -07:00
Phani Kumar Uppalapati fd44ebb8ae ASoC: wcd-mbhc: Add support for hph auto pull down
Pull down switches on headphone outputs need to be
enabled after accessory detection is completed to
eliminate noise on headphone when no audio gets
played and if device is getting charged through
usb cable. Add support to enable headphone auto
pull down.

Change-Id: Ife83a5843782e8b0e8238be6eaebbeccec4e929d
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2015-09-04 09:25:50 -07:00
Phani Kumar Uppalapati af4b475479 ASoC: dapm: Fix double lock of dapm mutex
snd_soc_dapm_force_enable_pin takes the dapm mutex
internally and then calls into the function
snd_soc_dapm_force_enable_pin_unlocked, where the mutex
is again acquired resulting into a deadlock. Fix
the double lock by not acquiring the mutex within
the unlocked version of the function.

Change-Id: I6c68f1ef1645997bbcb1e5b197652c41baa609d3
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2015-09-04 05:35:37 -07:00
Simmi Pateriya 0459cc43b9 ASoc: wcd9335: update sequence for afe config and online status
When online status is updated as soon as codec is reset after ssr,
afe port start for sva case may fail. Update the sequence to handle
this scenario.

Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
Change-Id: Ifd71df1ca2e5ac88ae952dd191374c6dbecac848
2015-09-03 12:35:08 -07:00
Simmi Pateriya 87aef8555f ASoC: msm8952-slimbus: register headset detection callback
In external codec, the callback to initialize mbhc is not
registered, which causes no headset detection issue.

CRs-fixed: 895387
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
Change-Id: Ic72c82e45f296a4dcaa7b9dc7f8a91ba654b83f4
2015-09-02 18:45:02 -07:00
Vidyakumar Athota 5923a37c0b ASoC: wsa881x: update temperature reading sequence
Temperature reading sequence is updated in wsa881x version 2.0.
This change is to add new sequence for temperature reading.

Change-Id: Ide1dbc5ef450c5e67f10ee038a5763b9d45008f6
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-09-01 00:48:39 -07:00
Simmi Pateriya b905353b54 ASoC: msm8952-slimbus: register headset detection callback
In external codec, the callback to initialize mbhc is not
registered, which causes no headset detection issue.

CRs-fixed: 895387
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
Change-Id: Ic72c82e45f296a4dcaa7b9dc7f8a91ba654b83f4
2015-08-31 22:18:24 -07:00
Linux Build Service Account 95317388d6 Merge "ASoC: wcd: Do not enable pulldown when headset is inserted" 2015-08-31 20:29:15 -07:00
Linux Build Service Account 1983ecaa2a Merge "ASoC: wcd: Do not enable pulldown when headset is inserted" 2015-08-31 12:46:02 -07:00
Linux Build Service Account 1b3ceadce7 Merge "ASoC: wsa881x: update temperature reading sequence" 2015-08-31 12:46:02 -07:00
Simmi Pateriya 94f63b9626 ASoC: wcd: Do not enable pulldown when headset is inserted
If pulldown is enabled when headset is inserted, issues
such as no button press or fake interrupts during extension
cable usecase are seen. Do not enable pulldown when headset
is kept inserted.

Change-Id: I586376a806e8f3495fc94b7a8f4af62a59f17bbe
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2015-08-29 05:48:05 -07:00
Simmi Pateriya b3bbdeb4c8 ASoC: wcd: Do not enable pulldown when headset is inserted
If pulldown is enabled when headset is inserted, issues
such as no button press or fake interrupts during extension
cable usecase are seen. Do not enable pulldown when headset
is kept inserted.

Change-Id: I586376a806e8f3495fc94b7a8f4af62a59f17bbe
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2015-08-29 05:47:56 -07:00
Simmi Pateriya 0d6088f271 ASoC: msm8x16-wcd: add codec reset control register in default
If there is no boot up sound, the register to bring codec
out of reset is not updated which in turn impact mbhc
functionality, so no detection happens unless any audio
is played.

CRs-fixed: 885738
Change-Id: I36862f9aa6cfa90801e739586e3b371f219f3473
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2015-08-29 05:47:44 -07:00
Yadav Anamika 7099faa8db Merge 79477f89b2 on remote branch.
Change-Id: I7815410b9662cb5a39f24cb041736591c6f52bfa
Signed-off-by: Yadav Anamika <anamik@codeaurora.org>
Conflicts:
	sound/soc/msm/qdsp6v2/msm-dai-q6-v2.c
	sound/soc/msm/qdsp6v2/q6afe.c
2015-08-27 15:45:10 +05:30
Linux Build Service Account 8515982868 Merge "ASoC: qdsp6v2: Avoid sending afe cal for proxy ports" 2015-08-26 19:58:57 -07:00
Linux Build Service Account e0316884c9 Merge "ASoC: msm8976: support multichannel playback over proxy port" 2015-08-26 19:58:55 -07:00
Avinash Vaish a1efa8ead2 ASoC: qdsp6v2: Avoid sending afe cal for proxy ports
Multichannel playback over Wifi fails due to use of invalid
afe calibration at the time of opening proxy port. Since
there is no afe calibration content for proxy devices, afe
driver erringly sends afe cal tables of the previous device.
This happens because afe tables aren't updated from acdb
loader as proxy port opening is directly carried out from
WFD module.
Currently there is no mechanism to ensure compatibility
between afe ports and afe cal tables cached in the memory.
Therefore, disallow sending of afe cal table, topology and
hardware delay calibration for proxy ports to fix the above
issue through mixer controls.

CRs-Fixed: 880657
Change-Id: I4914bb1b2fca91d71c2c34904a0ca632468efd5a
Signed-off-by: Avinash Vaish <avaish@codeaurora.org>
2015-08-25 15:28:36 +05:30
Banajit Goswami be58d4cf58 ASoC: msm: q6dspv2: add mixer control to avoid sending DSP calibration
For some use cases like Ultrasound, AFE calibration is not needed
to be sent to DSP. Add a mixer control to set a flag in AFE native
driver for that particular Slimbus port to help avoid sending AFE
calibration data to DSP for those specific use cases. AFE driver
would check for the flag before sending calibration data to DSP.

Change-Id: Idc254224a9b73995f363668e644b2c08f86817e9
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2015-08-25 15:24:03 +05:30
Linux Build Service Account 4e3dfaea73 Merge "ASoC: msm8976: support multichannel playback over proxy port" 2015-08-25 02:12:21 -07:00
Satya Krishna Pindiproli 63e80e2e5f ASoC: msm8976: support multichannel playback over proxy port
Add kcontrol to allow configuration of the proxy port up to eight
channels. This is to support multichannel playback over proxy
port in 8976.

Change-Id: I5646bcbb7a594d8d42c8ef32c3309c40eddfadd4
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
2015-08-23 23:36:01 -07:00
Avinash Vaish 4cb47f4336 ASoC: qdsp6v2: Avoid sending afe cal for proxy ports
Multichannel playback over Wifi fails due to use of invalid
afe calibration at the time of opening proxy port. Since
there is no afe calibration content for proxy devices, afe
driver erringly sends afe cal tables of the previous device.
This happens because afe tables aren't updated from acdb
loader as proxy port opening is directly carried out from
WFD module.
Currently there is no mechanism to ensure compatibility
between afe ports and afe cal tables cached in the memory.
Therefore, disallow sending of afe cal table, topology and
hardware delay calibration for proxy ports to fix the above
issue through mixer controls.

CRs-Fixed: 880657
Change-Id: I4914bb1b2fca91d71c2c34904a0ca632468efd5a
Signed-off-by: Avinash Vaish <avaish@codeaurora.org>
2015-08-23 23:35:54 -07:00
Vidyakumar Athota 665a1f966a ASoC: wsa881x: update temperature reading sequence
Temperature reading sequence is updated in wsa881x version 2.0.
This change is to add new sequence for temperature reading.

Change-Id: Ide1dbc5ef450c5e67f10ee038a5763b9d45008f6
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-08-21 22:18:39 -07:00
Laxminath Kasam cba48d6f98 ASoC: audio: fix audio drops issue in HPH for loud clips
For louder clips with max volume, observe audio drops.
This is seen due to COMP1_B4_CTL setting is not updated
correctly. As per 8952 power grid, buck voltage is 1.8v
and compander register setting is varied based on this.
Update the setting to 1.8v and also ensure the compander
register bit is reset in power down sequence so that
non-compander usecases like ANC are not affected due
to this setting.

CRs-Fixed: 890042
Change-Id: Ib2bd74877d559c7f473b1c7a8a64054fb1f476bc
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-08-21 17:43:51 -07:00
Laxminath Kasam b06de83ebc ASoC: audio: fix audio drops issue in HPH for loud clips
For louder clips with max volume, observe audio drops.
This is seen due to COMP1_B4_CTL setting is not updated
correctly. As per 8952 power grid, buck voltage is 1.8v
and compander register setting is varied based on this.
Update the setting to 1.8v and also ensure the compander
register bit is reset in power down sequence so that
non-compander usecases like ANC are not affected due
to this setting.

CRs-Fixed: 890042
Change-Id: Ib2bd74877d559c7f473b1c7a8a64054fb1f476bc
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2015-08-21 17:43:46 -07:00
Linux Build Service Account fcbefe1f88 Merge "ARM: msm: dts: Support Cluster pm notification on MSM8952 & MSM8956." 2015-08-21 08:44:44 -07:00
Satya Krishna Pindiproli 55122f475d ASoC: msm8976: support multichannel playback over proxy port
Add kcontrol to allow configuration of the proxy port up to eight
channels. This is to support multichannel playback over proxy
port in 8976.

Change-Id: I5646bcbb7a594d8d42c8ef32c3309c40eddfadd4
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
2015-08-21 02:01:47 -07:00
Linux Build Service Account da3d472498 Merge "ASoC: wcd: update sequence for impedance detection" 2015-08-20 06:20:36 -07:00
Linux Build Service Account 5379cba703 Merge "ASoC: wcd9335: wait for 500 msec for the regulator to stabilise" 2015-08-19 21:07:18 -07:00
Linux Build Service Account a66de3a856 Merge "ASoC: msm: add HPHL and HPHR widgets to ignore suspend" 2015-08-19 21:07:17 -07:00
Linux Build Service Account 78bc6eaa99 Merge "ASoC: wcd9335: move regulator optimum calls to codec driver" 2015-08-19 21:07:16 -07:00
Linux Build Service Account 631b27b6a6 Merge "ASoC: msm: q6dspv2: add mixer control to avoid sending DSP calibration" 2015-08-19 21:07:08 -07:00
Linux Build Service Account 733c83231d Merge "ASoC: wsa881x: update register sequence for version 2.0" 2015-08-19 12:24:28 -07:00
Linux Build Service Account 81ed592cc4 Merge "ASoC: wsa881x: check for valid temperature register values" 2015-08-19 12:24:20 -07:00
Linux Build Service Account b59fd5de7a Merge "ASoC: wsa881x: Update read only registers as volatile" 2015-08-19 12:24:08 -07:00
Linux Build Service Account ad2908ab59 Merge "ASoC: wsa: add support for WSA 2.0 version and sequences" 2015-08-19 12:24:08 -07:00
Linux Build Service Account 0b2b032dad Merge "ASoC: wcd9xxx-mbhc: fix codec power leakage during suspend" 2015-08-19 12:24:02 -07:00
Yeleswarapu Nagaradhesh 15127495f7 ASoC: wcd9335: wait for 500 msec for the regulator to stabilise
During soft reboot, some times codec is going to bad state as
all the codec supplies are not going down. Due to which codec is not
responding to slimbus which is effecting soundcard registration.
After disabling the regulator wait for 500msec, to ensure regulators
ramp's down completely.

Change-Id: I21de85f9e7170906a877f9328f088a91d0f69ee8
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-08-19 10:54:01 -07:00
Simmi Pateriya 154e489545 ASoC: wcd: update sequence for impedance detection
Update register sequence for impedance detection to
work on cajon and for backward compatibility with
previous targets.

Change-Id: I86831be2c36532ce4ac8f8344587309d7ebfb1ac
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
2015-08-19 03:20:34 -07:00
Yeleswarapu Nagaradhesh bdcd36c46c ASoC: msm: add HPHL and HPHR widgets to ignore suspend
Add HPHR and HPHL wigets to ignore suspend to avoid suspending
codec during apps shutdown

Change-Id: I8fa8ea8d972eea38518694fbe80411207eed9362
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-08-19 03:06:32 -07:00
Yeleswarapu Nagaradhesh df029f9d8a ASoC: wcd9335: move regulator optimum calls to codec driver
There are few use cases where apps goes down to suspend
but codec should be in active state. Core driver will not
have knowledge of these usescases and hence move suspend and
resume hooks to codec driver.

Change-Id: If5614dd13f24a80d18f53f194c7be1c5b967a003
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2015-08-19 03:05:55 -07:00
Vidyakumar Athota ca09f15cec ASoC: wsa881x: check for valid temperature register values
check for temperature register values and log the values if
they are out of range.

Change-Id: I58dd4e9b3348215510f61e790ed81bc9d4972768
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2015-08-18 21:45:35 +05:30
Sudheer Papothi 2d50fbbf38 ASoC: wsa881x: Update register cache while getting temperature
Temperature from wsa881x thermal zone sensor is not correct
when wsa881x codec is in suspend state. Bring codec out of
reset and update register cache to read proper temperature
value from thermal zone sensor.

Change-Id: I428ba35cbc10fd6c8ac80f6eb26f218466f44ebc
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2015-08-18 21:28:43 +05:30