summaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)Author
2016-07-08ASoC: wcd9335: Fix traversing of source dapm widgetsSudheer Papothi
Parsing of audio routing in ASoC core has been changed in kernel 4.4 to use new variables. Update the codec driver to traverse to source dapm widget using new variables. Change-Id: I8c545248f23c73ff9fb470705f1c17175a8e4e0b Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-07-08ASoC: msm: Dynamic allocation of loopback sessionsSurendar karka
Allocate looback sessions dynamically and add support for multiple loopback sessions. CRs-Fixed: 986695 Change-Id: I4a0b0ed4f6679da016b1b460cb597bc7fa2afa12 Signed-off-by: Surendar karka <sukark@codeaurora.org>
2016-07-06ASoC: pcm: Update RX shutdown sequencePhani Kumar Uppalapati
Update RX shutdown sequence so that codec path gets tear down first followed by cpu dai. This will avoid slim port underflow/overflows when slim data protocol is changed. Change-Id: I6e3582fa010d18d4e0ccfde319dfc4d81af1351f Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-07-06ASoC: core: Fix possible NULL pointer de-referenceBhalchandra Gajare
Fix the soc_find_component function to make sure either the of_node or the name is provided to compare against the registered components to fix possible NULL pointer de-reference. CRs-fixed: 925138 Change-Id: Ic1f02c341c06cadcfe6de638ff6c86e51845e59f Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-07-05msmcobalt: fix channel configuration for SLIMBUSShiv Maliyappanahalli
Channel count for SLIM_RX_6 port cannot be set since get_port_idx() returns invalid port id which resulting in invalid channel configuration for headset usecase. Fix by adding SLIM_RX_6 case in get_port_idx(). Change-Id: Iadd3e995d044198c711f744c11b62cec2f7902c0 Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-07-05ASoC: msm: q6dspv2: add SLIMBUS6 RX routings for Slimbus 7/8Banajit Goswami
Slimbus TX 7 and 8 would need to be connected to Slimbus RX 6 for different use cases using loopback in AFE. Updated necessary routings for supporting the loopback. CRs-Fixed: 1036018 Change-Id: I46c797a6550884bf42a2d7763590047d2e750906 Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-07-05ASoC: msm: qdsp6v2: DAP: Add check to validate param lengthAshish Jain
To avoid buffer overflow, validate input length used to fetch visualizer data. CRs-Fixed: 1033540 Change-Id: I445d1ba3bce47308bc31ae24a70d5ee358f22a2d Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-07-05ASoC: msm: qdsp6v2: DAP: Allocate param buffer with correct sizeAshish Jain
Size of param buffer should be big enough to hold param length of data and param payload. CRs-Fixed: 1033525 Change-Id: I6fa58f87a7c7df5f0485ea5b368ea090eb8bedb4 Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-06-29ASoC: msm: qdsp6v2: Fix Tx mute issue over BT-SCOKarthik Reddy Katta
Backend DAIs are not enabled for low-latency-record bt-sco. Update mixer control array of MultiMedia5 mixer to enable backend DAIs. CRs-Fixed: 1029460 Change-Id: I8e01302baf2d78afca930ef1f251906a971a8234 Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
2016-06-29ASoC: msm: qdsp6v2: fix non-gapless transition failureSatya Krishna Pindiproli
During non-gapless transition, there is an indefinite wait in drain until either eos_ack or cmd_interrupt is set. This results in playback getting stuck and occurs because cmd_interrupt is not set in TRIGGER_STOP as gapless_transition is set to 1 during partial drain of earlier stream. Fix the issue by setting gapless_transition to 0 when gapless fails which ensures that cmd_interrupt is set in TRIGGER_STOP. CRs-Fixed: 1027991 Change-Id: I47d2d45df8686f25e8170a84fcaf68e143f6e4f6 Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
2016-06-28ASoC: msm: add support for packed 24 bitManish Dewangan
Changes to support packed 24 bit (SNDRV_PCM_FORMAT_S24_3LE). CRs-Fixed: 1011048 Change-Id: I5c49091d6bbff98ed8665446fffdba08446073cd Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2016-06-28ASoC: wcd9335: add support for packed 24 bitManish Dewangan
Changes to support packed 24 bit (SNDRV_PCM_FORMAT_S24_3LE). CRs-Fixed: 1011048 Change-Id: If81f3053629dc4f80a08392f392c7be735ad33c2 Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2016-06-28ASoC: msm: qdspv2: add support for MULTI_CHANNEL_PCM_V3 commandManish Dewangan
Driver changes to use ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V3 command. This command supports playback/record of both 32 bit (24 bit data in 32 bit word) and 24 bit packed. Update platform drivers to use this for SNDRV_PCM_FORMAT_S24_LE record and playback. CRs-Fixed: 1011048 Change-Id: I6f98bf3402a737bc21daff33b13b137850a690ea Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2016-06-27ASoC: msm: qdsp6v2: Support host pcm feature based on new VSIDsHelen Zeng
With single voice architecture, two new VSIDs are created to support multimode voice call. Update host pcm driver to support new VSIDs. Change-Id: I42e33db7f3dca47c30b7dc5af59848eb6beef330 Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org>
2016-06-24ASoC: msm: qdsp6v2: DAP: Add check to validate data lengthAshish Jain
Validate input data length to ensure only relevant data is copied. CRs-Fixed: 1027585 Change-Id: I67eb4f162f944bbf4d9e55fb8fe93759e6b8ff91 Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-06-23ASoC: msm: qdsp6v2: Fix timeout error in ADM_CMD_SET_PP_PARAMS_V5Karthik Reddy Katta
Timeout error is observed while waiting for ADM_CMD_SET_PP_PARAMS_V5 command's response. Fix the condition logic in wait_event_timeout() to match the value set in adm_callback() when response to ADM_CMD_SET_PP_PARAMS_V5 is received. CRs-Fixed: 1030674 Change-Id: I711c860dc3de479eec0d22369d19615aef572ea1 Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
2016-06-22Asoc: msm: qdsp6v2: Track compress stream open properlyBen Romberger
Set the stream open flag immediately after the stream is opened to ensure correct closure of the stream if there is an error condition. Change-Id: I61faf6ddf99ab504e492a4e37d577b67acf99f09 Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
2016-06-22ASoC: msm: Enable use of noirq playback and captureHaynes Mathew George
Enable use of noirq (i.e pull mode and push mode) playback and capture. CRs-Fixed: 992798 Change-Id: I98e68c2a485783be3c2b3eaa62577759d7e21d82 Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
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-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>