summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2016-06-22ASoC: msm: qdsp6v2: Add capture support to a frontendHaynes Mathew George
Add capture support to MultiMedia3 frontend. CRs-Fixed: 992798 Change-Id: Ie21a1c4a73c354a6dc1e733e6d2ac653f85f7647 Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
2016-06-22ASoC: msm: qdsp6v2: pull mode playback and push mode recordHaynes Mathew George
Implement platform drivers to support shared memory based pcm playback and capture. Change-Id: I882c67ae1c3d950b98bd002ac384cc3a7e77874a CRs-Fixed: 992798 Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
2016-06-21ASoC: msm: qdsp6v2: Compress passthrugh fixesSatish Babu Patakokila
Sending PP params and calibration params for compress passthrough path is resulting in timeout which is delaying the start of playback. Sending the PP params only when it is legacy pcm playback. Change-Id: I7fe2840b7a72bddde887340a6e913cb120d1bc61 CRs-Fixed: 1030688 Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
2016-06-21ASoC: dapm: Avoid static route b/w cpu and codec daiPhani Kumar Uppalapati
Currently ASoC core creates a static route b/w playback/capture widgets of cpu and codec dai if they are part of the same dai-link. However this will cause codec path to get powered up first followed by the backend dai start during device switch use-case where the front-end is not closed, leading to audio playback failure if either bit-width or sample rate is different. CRs-Fixed: 1029118 Change-Id: I180515f2ad55d1f446ad7eb1ad0bd71809db94bd Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-06-17ASoC: msm: qdsp6v2: add support for DTS offloadSatish Babu Patakokila
Add DTS to supported offload formats. Change-Id: I08cade9366673a7aae8595293296e88aece149bd Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
2016-06-17wcd9xxx: refactor wcd9xxx audio codec driversYeleswarapu Nagaradhesh
Refactor wcd9xxx audio codec driver for better handling of codec specific functionalities. CRs-fixed: 1028800 Change-Id: I229ee4a741c5a606e2eb045940f5ee3c4eabf512 Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org> Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-06-17ASoC: msm: qdsp6v2: Fix unmap memory command failureKarthik Reddy Katta
Add pointer validation checks to prevent sending invalid handles to ADSP as part of unmap memory regions command. CRs-Fixed: 1018367 Change-Id: I0dfb2fccb4414ed82ee10d73576fda66a273043d Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
2016-06-14ASoC: wcd9335: Infinite loop when routing DMIC for handset ANCStephen Oglesby
When routing DMIC input to ANC block for handset ANC usecase, codec driver enters an infinite loop attempting to determine the stream sample rate. Additionally since the noise DMIC is configured prior to the rest of the usecase, we cannot deterine the stream sample rate to configure the ANC block for half-rate. Therefore revert that logic and let ANC block be configured according to the device tree. CRs-fixed: 997662 Change-Id: I311ad8f158b0be6e9d6481512860f9fac10afc1f Signed-off-by: Stephen Oglesby <soglesby@codeaurora.org>
2016-06-14ASoC: wcd9335: Adjust DMIC clock based on sample rateStephen Oglesby
Currently DMIC clock is set at 4.8MHz for all sampling rates. For optimal power, sampling rates <=48KHz should be set to 2.4MHz. CRs-fixed: 971183 Change-Id: If3076f017d476cfb57fa22b75cc74ed615c8882e Signed-off-by: Stephen Oglesby <soglesby@codeaurora.org> Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-06-14ASoC: msm: qdsp6v2: do not set cmd_interrupt flag in eos for gaplessDhanalakshmi Siddani
cmd_interrupt flag is set during first stream's stop in gapless playback but it is not reset after receiving eos ack. This interrupts second stream partial drain and eos is sent to client, which leads to session close causing audio mute. Do not set cmd_interrupt during gapless transition to fix the issue as no one is waiting for eos. CRs-Fixed: 1012546 Change-Id: Ibcbdde0ea59ff80a798de0b894c2239899260860 Signed-off-by: Dhanalakshmi Siddani <dsiddani@codeaurora.org>
2016-06-14ASoC: wcd-mbhc: disable moisture detection for NC JackYeleswarapu Nagaradhesh
Moisture detection is needed only for NO jack type. So disable moisture detection feature for NC Jack. CRs-Fixed: 1012001 Change-Id: I93f72f18145ddef6a0caf2c59a9af5f23e6e20a3 Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-06-13ASoC: msmcobalt: Switch ground/mic swap GPIO control to pinctrlStephen Oglesby
Switch to swap ground and mic headset poles is controlled by a GPIO on the Apps processor instead of the PMIC, and therefore software logic must change to use pinctrl APIs CRs-fixed: 1019254 Change-Id: Ibccddc82b18614ddbe6ef9c9720b3de1ce00163e Signed-off-by: Stephen Oglesby <soglesby@codeaurora.org>
2016-06-13ASoC: wcd9330: Fix MCLK enable/disable issue in wcd9330 driverViraja Kommaraju
In wcd9330 driver, external clk enable callback function is passed with argument as true always, instead of passing the arguments from caller. This is leading to mclk users count to increase without check. CRs-fixed: 1013573 Change-Id: I113657c91dd5eb00791535dc78b7cdad1db5c4aa Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2016-06-13ASoC: wcd9335: Avoid TX mute during voice call on headsetPhani Kumar Uppalapati
If long button is pressed to end the voice call, the button click suppression block within wcd9335 hardware does not release IN2_P causing TX mute for the next voice call session. Avoid TX mute by force release IN2_P during every voice call start. CRs-fixed: 1013280 Change-Id: I5af41bef6db6af14d53018caef1f7fd9b00fc136 Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-06-13ASoC: msm: Add 48KHz sample rate support for CPE CPU DAISudheer Papothi
Voice recognition engine can support 48KHz sampling rate. Change enables 48KHz support for CPE(Codec Processing Engine) CPU DAI(Digital Audio Interface). CRs-fixed: 1022917 Change-Id: I6e1bd314af1311af73704bdfd9cdc5d2cb849557 Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org> Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-06-09ASoC: msm: Add EC reference support for USB audio ADSP solutionKuirong Wang
Add EC reference support for USB audio ADSP solution so that the USB audio rx can be used for echo cancellation. Change-Id: If99081c1fd356e69710c94441affec92fac24075 Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-06-07ASoC: msm: enable HDMI audio for 8996Yeleswarapu Nagaradhesh
Enable HDMI RX for 8996, otherwise soundcard will not get registered for the flavors which supports HDMI. CRs-Fixed: 1023892 Change-Id: I0d2442c7b3d156ad919626a6015f0fbbf2116c3f Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
2016-06-02ASoC: compress: fix unsigned integer overflow checkXiaojun Sang
Parameter fragments and fragment_size are type of u32. U32_MAX is the correct check. CRs-Fixed: 1014726 Change-Id: Ia6d4755408646ac4a75724f3c6f2177651875da3 Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2016-05-24ASoC: wcd_cpe_core: Connect to input AFE port during LSM startBhalchandra Gajare
Currently the AFE input port is connected to LSM while sending operation mode parameter to CPE. It is possible that in certain cases, the operation mode does not need to be sent at all. In such case, the input port still needs to be connected. Fix this by moving the connection to AFE input port during LSM_START so everytime LSM is started, it is connected to the correct AFE port. CRs-fixed: 1012715 Change-Id: I6dbc344d5d7063c7cfd2fb29c2c39fdee1250bbf Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-05-24ASoC: msm: qdsp6v2: Change audio drivers to use %pKBen Romberger
Change all qdsp6v2 audio driver to use %pK instead of %p. %pK hides addresses when the users doesn't have kernel permissions. If address information is needed echo 0 > /proc/sys/kernel/kptr_restrict. Change-Id: I7baa9f127266726fecf9238167a1e0128a258847 Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2016-05-20ASoC: wsa881x: Request device ungroup for speaker disablePhani Kumar Uppalapati
Request device ungroup of speaker channels for independent disable. It is possible that stereo speaker channels can be disabled one after other, so remove them from group otherwise speaker can be left in enabled state. CRs-fixed: 1007465 Change-Id: I358ab4edcb85ec65b064ca28368ad744f2d36870 Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-05-20soundwire: Add support for 48x2 frame structurePhani Kumar Uppalapati
Add support for 48x2 frame structure in soundwire so that when slave device data path is not enabled, all control messaging will happen with 48x2 frame. Soundwire slave devices send an explicit request to enable data path which in turn change the frame structure to 48x16. CRs-fixed: 996586 Change-Id: Ia4329ac982eb2a29a2b925897cd87ca9711c30e3 Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-05-19ASoC: msmcobalt: Add slimbus_6_rx back-end dai-link and hostlessKuirong Wang
Add slimbus 6 playback hostless and slimbus_6_rx back-end dai-link to enable independent backend for different devices during audio playback. Change-Id: Idac26ac45f1177db96fc3fb5d4a5e2f837f86d1b Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-05-19ASoC: msmcobalt: Add USB audio via ADSP supportKuirong Wang
Add USB audio via ADSP support in the machine driver. Change-Id: I9773555fb025a41afd27e078f6ef23a4d140128f Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-05-18ASoC: pcm: Add support for fixup callbackAnish Kumar
Fixup callback is added for dais which do not follow the FE and BE convention and is directly controlled by userspace such as hostless dais. This will restrict the hw_params based on what is supported by hardware rather than blindly setting what is given by userspace. Change-Id: I401c70ab5de1df10363ec808cb68f72d8d74af96 Signed-off-by: Anish Kumar <kanish@codeaurora.org> Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-05-18ASoC: compare CPU DAI stream name to find BE DAIBanajit Goswami
While setting up route for a particular device, compare stream name of CPU DAI and Backend DAI to find the correct Backend DAI. Change-Id: Ic3f7c0e5b2a1055e7fdf52c78ded797a9a126d03 Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-15ASoC: msm: Add USB audio via ADSP supportKuirong Wang
Add new USB rx and tx afe ports and routing to different fe dais to enable USB audio via ADSP. Change-Id: I4f82ba27becee1f3b62c410be0d00876961f9b18 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org> Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-05-12ASoC: soc-core: change debug level for debugfs fail messageBanajit Goswami
Debugfs directory creation failure are not critical error. However, the failure messages might be misleading and might be interpreted as geniune failure in ASoC functionality. Mark the failure messages as debug level. Change-Id: Id61c81753d493b6508cbe87c59077adda4675ada Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06ASoC: msmcobalt: add BT/FM audio support with WCN3990Banajit Goswami
Add machine driver code to support audio on MSMCOBALT based boards with WCN3990 BT/FM chipset. Change-Id: Ia23572f44775a04c8f8c67e9a61d6b9be8869b82 Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: add loopback volume control for SLIMBUS_8_TXBanajit Goswami
Add a new mixer control for volume control for SLIMBUS_8_TX AFE port loopback. Change-Id: Ifbf1778255edbe4901bd0860216ba1dd5a786047 Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06ASoC: msm: q6dspv2: add routes for SLIMBUS_7 and SLIMBUS_8Banajit Goswami
SLIMBUS_7 and SLIMBUS_8 would be used for BT-SCO and FM use cases when using the second Slimbus instance. Add routes to support voice call over BT-SCO and FM playbacki and capture with these ports. Change-Id: I5c558ee2dbe2de20b9ac3f042ae45a9431590778 Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06ASoC: msm: add Hostless DAI with SLIMBUS_8Banajit Goswami
SLIMBUS_8 ports can be used for hostless audio playback and capture use cases. Add Hostless Front-end DAI definitions with Slimbus 8 ports. Change-Id: Idc56625bb8fea263c3d530c8a9488eeb81fdd7e5 Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06ASoC: msm: q6dspv2: add support for Slimbus 7 and 8 portsBanajit Goswami
Add support for SLIMBUS_7 and SLIMBUS_8 Rx and Tx ports for MSM audio drivers. Change-Id: I839ac07a3ee1e1e778c4d1e43d0bac89f01bd21a Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06ASoC: msm: audio-effects: fix stack overread and heap overwriteWeiyin Jiang
Fix overwrite of updt_params allocated in heap, and stack overread where param pointer is passed from user space. CRs-Fixed: 989628 Change-Id: Ida8bdb7da2fcb97023dce3b6eafe4b899a51cb66 Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
2016-05-06ASoC: codec: micb ref count decrement checkdojha
In SSR with recording, race condition which reduces micb_ref to -1 is seen. SSR sets micb_ref to 0, further recording widgets power down can reduce it to -1. During power up, it is increased to 0, micbias is not getting enabled for recording since micb_ref is 0. To prevent this micb_ref is checked for non zero value before decrementing it. CRs-Fixed: 994268 Change-Id: I6ea23fdf8b119cfd178c4f5b79b9d1c01c267a82 Signed-off-by: dojha <dojha@codeaurora.org>
2016-05-06ASoC: msm8996: Add delay to check ADSP state during SSRSudheer Papothi
During SSR(subsystem restart), add a delay when ADSP state is not yet ready. This will avoid excessive logging when ADSP state is not ready. CRs-Fixed: 1001242 Change-Id: I2f3d1bdb3ca1ba05c014c26bbc87879f549098d8 Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-05-06ASoC: msm: Update the Slmbus6 downlink hostless routingKuirong Wang
Update the Slmbus6 downlink hostless routing so it can connect to Slimbus0 Hostess FE. Change-Id: Iaeb3e148af57e9d484a31820993cf7e5b6466dd2 CRs-fixed: 991759 Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-05-06ASoC: wsa881x-analog: Fix warning in bandgap and clock controlLaxminath Kasam
During temperature read, resource acquire can fail if mclk is not enabled successfully. In such case, clock and bandgap control counters are not incremented. But resource release is still happening resulting in counters going negative and warn_on messages. Fix it by handling resource acquire failure case. CRs-Fixed: 1003365 Change-Id: If2371e06866a615ca7d7dad64a5d7a17f258b3b6 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: DAP: Fix buffer overflowAshish Jain
Add check to avoid out of bound access. Check return value of get_user api. CRs-Fixed: 997025 Change-Id: Ibbace116ac206007fa1928555838285304737737 Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: update external EC reference logicVenkata Narendra Kumar Gutta
VOC_EXT_EC MUX kcontrol, which is being used for external EC reference, returning incorrect values when requested. Update the logic to fix this issue. CRs-Fixed: 999158 Change-Id: If05a54ca2539ef452312548bfcaf7f3fadd1de87 Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: update quinary rx controls for voice pathVenkata Narendra Kumar Gutta
Voice calls are not working over quinary rx path. Required rx controls are not present, hence it's not working. Fix this by updating quinary rx controls and routing map. CRs-Fixed: 999811 Change-Id: Id566359e381b69acfccff406c7448708701530e7 Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-05-06ASoC: msm: q6dspv2: initialize private data before using itBanajit Goswami
During Compress offload session open, a private data structure is allocated and registered as parameter for a callback to the compressed offload driver. All parameters inside the structure must be initialized before the structure is passed to ASM driver. This private data structure is sent back as param to the callback function registered with ASM. The initialization is needed to avoid NULL pointer dereference inside the callback function, in case ADSP SSR is triggered right after registering the callback with ASM and before rest of the initialization of the private data is complete. CRs-fixed: 989822 Change-Id: I8a64539a6a64fb8c75d06f933a735c70049bce7b Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: Fix mute in WFD playback during ADSP SSRVenkata Narendra Kumar Gutta
Mute observed in WFD playback during ADSP SSR. This is due to playback session isn't being restarted post SSR. Fix this by listening to reset events and propagate the appropriate error back to userspace in case of SSR. CRs-Fixed: 986757 Change-Id: I4c2fdf70e518310157d81d527afff4436dd42140 Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: set token for stereo_to_custom_stereo commandShiv Maliyappanahalli
Set token value with port index and copp id so that correct wait queue handle can be deduced in the callback of adm_set_stereo_to_custom_stereo command. Change-Id: Ica4c1442c1143f46de2baa6eaf1890ad0cb4b742 Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-05-06ASoC: msm: qdspv2: Add tertiary MI2S ports supportDeven Patel
APQ8096 target uses tertiary MI2S interface for voice call. Add this support in routing driver. CRs-fixed: 987739 Change-Id: Idecbe2f072e4315e180d25583b6d1b1237d06071 Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: Fix memory allocation issues in audio_cal_utilsKarthik Reddy Katta
Incorrect pointer is used while allocating memory for 'cal_block' pointer. Use proper pointer in kzalloc(). Memory of 'cal_block->cal_info' is not initialized to ZERO. Use kzalloc() instead of kmalloc() to initialize this memory. CRs-Fixed: 983585 Change-Id: Ifbe1d91d68da81d058197af2a403c4b832b019fb Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
2016-05-06ASoC: msm: qdsp6v2: compress passthrough fixesMingming Yin
- Ignore stream volume and pp params calls for compress passthrough playback. - Use correct COPP index for compress passthrough playback in adm_send_compressed_device_mute. Signed-off-by: Mingming Yin <mingming@codeaurora.org> Change-Id: I10d1aaf3bb6cbf6358378667f93970e9eb21be1d
2016-05-06ASoC: msm: qdsp6v2: Update set_params to avoid use before setDhananjay Kumar
In function msm_compr_set_params few codec parameters are getting used before being updated with values received in the call. Prevent usage of incorrect param values by updating params before they are accessed. CRs-Fixed: 993882 Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org> Change-Id: Ia3d3e13d4bd7975a11cbeb96929fb224e8271916
2016-05-06ASoC: wcd-mbhc: correct headphone detectionYeleswarapu Nagaradhesh
Characteristics of 3pole extn cable is, MIC is grounded and HPHL and HPHR are floating. In current SW, if there is GND_MIC SWAP with button press cable is reported as unsupported. Hence report cable as headset if there is GND_MIC SWAP with button press. CRs-Fixed: 963833 Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org> Change-Id: Ie6b467292661358699fcab6263653139cda87c33
2016-05-06ASoC: wcd-mbhc: Fix special headset detection issueYeleswarapu Nagaradhesh
Even if the first measurement of hs_comp_result is 0 after micbias is increased to 2.7v, it should be reported as special headset. Fix the condition in driver to handle this scenario. CRs-Fixed: 993103 Change-Id: I859e9de29436af12ef1af0e2ed85bcbb51d2e27a Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>