summaryrefslogtreecommitdiff
path: root/include/sound
AgeCommit message (Collapse)Author
2016-12-05ASoC: soc: qdsp6v2: add support for slimbus VI recordingXiaojun Sang
Add a new dailink for slimbus VI sense recording. SLIMBUS_TX_VI and SLIMBUS_4_TX can coexist. VI recording and speaker protection cannot work simultaneoulsy due to shared physical afe port. CRs-Fixed: 1087025 Change-Id: If074b7042e09d1e69147546461e6fa42d427350e Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2016-12-02Merge "misc: qcom: qdsp6v2: register ioctl calls for g711mlaw driver"Linux Build Service Account
2016-12-02Merge "ASoC: audio-ext-clk: add new audio ext clock"Linux Build Service Account
2016-12-01ASoc: msm: qdsp6v2: Add timestamp support for compress captureSatish Babu Patakokila
Add timestamp support for compress driver. Modify ASM driver to read the buffer from predefined offset. CRs-fixed: 1072067 Change-Id: I1c46befc223285495b3c0650e6c3eaae81f58771 Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
2016-11-25ASoC: audio-ext-clk: add new audio ext clockMeng Wang
In common clock framework, API for registering clk provider for a node is changed to of_clk_add_provider. Add new audio ext clock file to use new API to register audio clk provider. Crs-Fixed: 1090500 Change-Id: I1d7ecc6a3d4c48d0de9645043d5e5bfdfa1d1f5f Signed-off-by: Meng Wang <mwang@codeaurora.org>
2016-11-24ASoC: msm: qdsp6v2: support decode of g711 clipsArun Kumar Dasari
Add support in audio stream manager to configure decode of g711 related clips. CRs-Fixed: 1094107 Change-Id: Ie90fd68e24e7e793aaac64290e3c1e41682d6d5a Signed-off-by: Yamit Mehta <ymehta@codeaurora.org> Signed-off-by: Surendar karka <sukark@codeaurora.org>
2016-11-24ASoC: msm: qdsp6v2: support encode of g711 formatSurendar karka
Add support in audio stream manager to configure encode of g711 format CRs-Fixed: 1094107 Change-Id: I496a975e427f68d7bb5cc2789bfc9bb949658233 Signed-off-by: Surendar karka <sukark@codeaurora.org>
2016-11-10Merge "ASoC: msm: refactor machine driver for msmfalcon"Linux Build Service Account
2016-11-07ASoC: msm: Add support for INTx ports and clocksLaxminath Kasam
Add support for new DSP INTx MCLK, INTx IBIT CLK and INTx MI2S ports. New internal codec and msm based soundwire codec use these clocks and port_ids. CRs-Fixed: 1083537 Change-Id: I72e0a15c8a283c68a3ed10cfd02a4e3d9526c312 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-11-07ASoC: pcm: change capture_active to unsigned intWalter Yang
In combo usecase there are 2 front-end dai's with same codec dai, for example, multi-phrase ADSP SVA detection. Using a single bit as the counter causes the counter to roll over to 0 during combo usecase. To resolve this, change counter to unsigned int from single bit. CRs-Fixed: 1086127 Change-Id: I2dd07bd967b7d4fb4878b6d65bd0f011c6b15bdd Signed-off-by: Walter Yang <yandongy@codeaurora.org>
2016-10-11ASoC: wcd-dsp-mgr: handle codec down and up eventsBhalchandra Gajare
It is possible that codec hardware can be reset in case of subsystem restart scenarios. It is required to reset the codec DSP as well in such cases to make sure the DSP is in usable state after the codec hardware is reset. Change adds support to handle codec down and up events and perform the necessary reset on codec DSP. Change-Id: I79502c043f5e16947c895aab7cd584d72ad1a7dc Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-11ASoC: wcd-dsp-mgr: rename wdsp_intr_handler to wdsp_signal_handlerBhalchandra Gajare
The wdsp_intr_handler is not really processing interrupts in interrupt context, rather assumes that the caller is not in interrupt context and performs calls that may sleep. Rename the function in order to avoid confusion. Interrupt handlers can still call this function as long as they are in threaded interrupt context and are okay to sleep. Change-Id: Ia2803d6ca021d505ed2e711e676cbd701b11c492 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-07Merge "ASoC: msm: qdsp6v2: support for configurable bit format for AFE encoder"Linux Build Service Account
2016-10-06Merge "ASoC: msm: qdsp6v2: add support for latest version of media format ↵Linux Build Service Account
command"
2016-10-05ASoC: msm: qdsp6v2: add support for latest version of media format commandAshish Jain
Add support for ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V4 command. This command adds support to playback/record 32 bit data in 32 bit word and also provides a way to inform DSP about the endianness of the data. Change-Id: I3b013bedde8ccfa97a02e255e237df0cf2de13b8 Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-10-05ASoC: msm: qdsp6v2: support for configurable bit format for AFE encoderNaresh Tanniru
Add support for configurable bit width for AFE encoder. Add new mixer ctl to set for usecases which enables configuring different input/output bit format on AFE for usecases such as APTXHD encoder for 24bit input and 16bit output. Change-Id: I62326a097cbd71a3ec2b93a0120284d8f71f5d57 Signed-off-by: Naresh Tanniru <ntanniru@codeaurora.org>
2016-10-04ASoC: wcd-dsp-mgr: add support for subsystem restartBhalchandra Gajare
It is possible that wcd codec DSP can crash or become unresponsive. During such case, an error interrupt is generated by the codec. Add support in manager driver to handle this interrupt and perform subsystem restart to shutdown and reboot the DSP so that the DSP can be recovered from the crash. CRs-fixed: 1071949 Change-Id: I4662b5120bf7f731e399a27d8a613e2f3b648b00 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-04ASoC: wcd-dsp-mgr: add support for collecting memory dumpsBhalchandra Gajare
The codec driver is notified through interrupt whenever the DSP in codec is unresponsive/crashed. In such cases, collecting dumps of the codec memory is useful in debugging the issues. Change adds support in the wcd dsp manager driver to collect the memory dumps upon notification of error interrupt. Change-Id: Ib91cd4fc1476ee1a9ec448cde1a083070443f726 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-04ASoC: wcd-dsp-mgr: add argument to the interrupt handler callbackBhalchandra Gajare
Currently, when manager driver interrupt handler callback is called, there is no way for the caller to provide any data information along with the type of interrupt. Change adds argument to the interrupt handler so that callers can use this to pass agreed data when an interrupt occurs. Change-Id: I1c049227875a802491e21998c13c0bcd8eab7de6 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-10-03Merge "ASoC: msm: qdsp6v2: Fix improper channel config for aac"Linux Build Service Account
2016-10-03ASoC: msm: qdsp6v2: Fix improper channel config for aacNaresh Tanniru
AAC encode is failing in ADSP due to mismatch in channel config datatype. Update channel config data type for aac encoder. Change-Id: I844d6e1ac1b2b171cd74a2601ae09280a22589c9 Signed-off-by: Naresh Tanniru <ntanniru@codeaurora.org>
2016-09-30ASoC: msm: Update the error handling when APR sends packet failedKuirong Wang
Update the error handling when APR sends packet failed so that audio driver can perform proper error recovery. CRs-Fixed: 1050605 Change-Id: I6210e244e6299ec747836f40d03e92c15c6e53ee Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-09-21ASoC: msm: add tertiary and quaternary audio PCM supportKuirong Wang
Add support for tertiary and quaternary audio PCM interface to msm platform. Change-Id: I985200bbff55583ac09bf7444ecbc5cf6ab7eb41 Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
2016-09-10ASoC: msm: Add Buffer overflow checkKarthik Reddy Katta
The overflow check is required to ensure that user space data in kernel may not go beyond buffer boundary. CRs-Fixed: 1064411 Change-Id: I54c28a8942cf1a6a47a4e8272f3159b35d753ead Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
2016-09-08Merge "ARM: dts: msm: rename codec child node of MSM external display"Linux Build Service Account
2016-09-08ASoC: add sample rate macros upto 384KHzVidyakumar Athota
Add sample rate macros upto 384KHz to support playback of 384KHz clips. Change-Id: Id8880caae81818fe72bf02f3a3a90a5650546182 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-31ASoC: msm: qdsp6v2: enable audio over display portShiv Maliyappanahalli
Add support in cpu dai, routing and native afe driver to enable audio over display port. Change-Id: I4cd5b738caab4d40c1c118d3111c3f4af740c84e Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-08-20ASoC: msm: Add support for native DSD playabckPreetam Singh Ranawat
Add DSD playback support in compress offload passthrough mode. Add DAPM widget in routing driver for DSD playback over SLIM_2_RX backend. CRs-Fixed: 1056422 Change-Id: I398db5f6deded10a515f05277b6316a93f9e14ab Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
2016-08-17ASoC: pcm: change playback_active to unsigned intVidyakumar Athota
In combo usecase there are 2 front-end dai's with same codec dai. Using a single bit as the counter causes the counter to roll over to 0 during combo usecase. To resolve this change counter to unsigned int from single bit. CRs-Fixed: 1049348 Change-Id: I196802e6d23a9292ff2915c1b4b61c2b3ead9fa8 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-08-11ASoC: msm: qdsp6v2: support for AFE encoderNaresh Tanniru
Add support for AFE encoder configuration. Add new mixer controls to support AFE input channel and encoder configuration. Add support in AFE to set the encoder and input channel configuration.If encoder configuration is set ADSP will encode the PCM steam and send over backend. Change-Id: I56581533ffff3b61f5b5ee128841ab61b62674d7 Signed-off-by: Naresh Tanniru <ntanniru@codeaurora.org>
2016-08-02ASoC: wcd-spi: SPI driver for WCD audio codecsBhalchandra Gajare
WCD audio codecs contain SPI slave hardware module to provide access to codec memory and SPI register space. Change adds driver for this slave hardware. This driver uses regmap for SPI internal register accesses and plugs in to standard SPI framework as child device to master controller driver. CRs-Fixed: 1049012 Change-Id: I0640ac1ed60a2ec3633636760593211ecd2f9c2d Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-08-02wcd_dsp_mgr: Add the WCD DSP manager driverBhalchandra Gajare
WCD audio codecs have DSP embedded to perform signal processing on audio data. The codec driver has control over the DSP clock, power etc, whereas the DSP memory can be accessed through an different bus slave interface. In such cases, it is required to make sure the hardware expected sequences are met for the DSP to function properly. The wcd-dsp manager driver registers as master to component framework and provides the ability to sequence the operations between the child drivers. Upon registration of all children, the wcd-dsp manager driver parses the wcd dsp image, downloads the image and boots up the DSP. It invokes the component children to perform the tasks in sequence. CRs-Fixed: 1049012 Change-Id: I059e1b111c607e49a7cc9a7940cf458e701c73d3 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2016-07-26ASoC: wcd_cpe: Add support for two CPE sessionsSudheer Papothi
Existing CPE(Codec Processing Engine) driver supports single session. Add support for two sessions with different sampling rates. CRs-fixed: 1022917 Change-Id: Ifbcb1bf8c418a4b3c787f68392aa141207dddde5 Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org> Signed-off-by: Vidyakumar Athota <vathota@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-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-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-03msm: Fix failure in deregistering custom topologiesKarthik Reddy Katta
AVCS_MODE_DEREGISTER_ALL_CUSTOM_TOPOLOGIES is defined as "1" where as in ADSP the value is "2". Redefine the same to fix the mis-match with ADSP code. CRs-Fixed: 1005434 Change-Id: I210e43b53c6170425ee35c02b728698b33afb591 Signed-off-by: Karthik Reddy Katta <a_katta@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-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-04-12ASoC: msm: qdsp6v2: use token for tracking no wait cmdShiv Maliyappanahalli
Use tokens to track all active no wait commands. In ASM driver, certain commands are waited on to get response from ADSP. There is a possibility that certain no-wait commands can be improperly recognized and woken up leading to time outs. Change-Id: I2030a354493845b63cf92d35ca4eaadef38cfb79 Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-03-25ASoC: msm: qdsp6v2: Add missing routing for MI2S interfacesRoberto Granados Dorado
This change adds some routing missing plus few other fixes needed when MI2S interfaces are used. CRs-fixed: 909961 Change-Id: Ic1e234c955a6162d67fd97ac7647ec810ede204c Signed-off-by: Roberto Granados Dorado <robertog@codeaurora.org>
2016-03-23ASoC: msm: Add support for HW MAD bypass feature for listenVenkata Narendra Kumar Gutta
HW MAD bypass feature is to facilitate input to CPE by avoiding MAD in codec. This is done by routing DEC1 data to CPE. Add the required changes to support this feature. CRs-fixed: 938514 Change-Id: I7788b1475cd22bdea291bcae47f048131b220ce3 Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
2016-03-23ASoC: msm: Use legacy ASM APIs for older targetsAshish Jain
With 3.18 kernel, get_session_time command to DSP is updated to new command. This command is not supported on older targets as they have an older DSP version. To have backwards compatibility, based on DSP version choose which command to use. CRs-Fixed: 978676 Change-Id: I76b0cfcd84df90d7a206690cb8aa1eb773fdc53d Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
2016-03-23ASoC: msm: Add support to query speaker parametersVidyakumar Athota
Add SET and GET parameter APIs to query speaker parameters in feedback speaker protection FTM mode. CRs-Fixed: 974621 Change-Id: I1a51e5033d7836c0c996621593cd2f4dd6982dcd Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2016-03-23ASoC: msm: qdsp6v2: move adsp_err to c source filePatrick Lai
In preparation to add more debugging hooks to LPASS driver, convert adsp error code and string conversion functions to C source file. CRs-fixed: 968775 Change-Id: Ic074a318ede4188a8fd603efddce71ed820ee560 Signed-off-by: Patrick Lai <plai@codeaurora.org> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2016-03-23ASoC: Add check for pointer and array indexViraja Kommaraju
Add check for NULL pointer access and array index boundary. Change-Id: Ia12a28c43b99158a90d27eecd23bdfd4b42b346e Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2016-03-23ASoC: qdsp6v2: move AFE clock macros to headerLaxminath Kasam
As AFE clock version macros can be used in other drivers, move them to header file. Change-Id: Iae5717c181e81bf7a6161742e8d062d09bedfb78 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2016-03-23Asoc: msm: add support for Media Format ConverterSidipotu Ashok
Audio drivers to configure ADSP MFC in cases where fractional resampling is needed. Change-Id: Ifc85ff788347ddd893f8858064f71a07fa1ddd9c Signed-off-by: Sidipotu Ashok <sashok@codeaurora.org>
2016-03-23ASoC: msm-lsm-client: free lsm client data in msm_lsm_closeVidyakumar Athota
Currently lsm client data is deallocated when q6lsm_open() fails which can cause memory corruption if lsm client data is accessed after freed. Fix this issue by deallocating the client data only in msm_lsm_close(). Change-Id: If048c26a0ffd8a346a28622183cbf2ba1e7e5ff3 Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>