Add support for adaptive bitrate with A2DP offload.
Set up Tx feedback path on SLIMBUS_7_TX from BT SoC
to LPASS. Configure AFE encoder and decoder for ABR.
Add bit width support to configure AFE port with
32bit for BT A2DP.
Change-Id: I8e0afaf52561e5dc70318240ba238fc42844501f
Signed-off-by: Aniket Kumar Lata <alata@codeaurora.org>
This reverts commit 85b6208522
(ASoC: disable source tracking get functionality for sm8150).
Enable source tracking get functionality as the feature is
completely enabled.
Change-Id: I099fae3155f486f1fe89dbdad97c8cb1029f14df
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Change info logs to debug logs for all trivial
audio codec core logs that appear in boot up.
Change-Id: I797b876f2a9d72a72c3378acac0d8d7f11b5c4a5
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add MSMSTEPPE in the makefile rules to enable
compilation for SDM640.
Change-Id: I36437404d98229c8b292fd63304498122d8c8687
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
The current names of MI2S and TDM pinctrl states are too similar to
the actual pinctrl names. Update names of pinctrl states to avoid
confusion.
Change-Id: I1c775a29a32dad38dcc13ae395bd2557ec3a87c9
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Change info logs to debug logs for all trivial
machine driver logs that appear in boot up.
Change-Id: I37fb24fb758a81af9ae4be0e735cd9b467f88e70
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add missing mixer controls/widgets and routing paths
to avoid audio error logs during bootup.
Change-Id: I3c23cd3e5d1e5e95fcad5f49e3827ef26587e2a3
Signed-off-by: Meng Wang <mwang@codeaurora.org>
In a compress capture usecase, read offset guides to
move buffer pointer based on buffer length. When timestamp is
enabled read offset also needs to include timestamp header
offset along with buffer length. This fix addresses the issue
of null memory map handle due to incorrect read offset.
Change-Id: I93c3ec588e77d535b6c7a4a0d832c1e7ea5f62a7
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Currently, for some small (1/4/8 bytes) transfers, the driver uses
on-stack memory to perform the transfer. This is not safe as the
underlying master/dma driver could try to map/dma this memory.
Change makes sure to never use on-stack memory for any transfers.
Change-Id: I6b157e26ea7ca9f865004a87153c658756f6c368
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Update all audio drivers to use updated chipset name in
files, functions, architecture specific configurations
and the device tree compatible strings.
Change-Id: I507948866213ddb8806edea71a57c1f29ce7e71b
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Update all audio drivers to use updated chipset name
in architecture specific configurations and the device
tree compatible strings.
Change-Id: Ib1abe643c6914c1b0b57ef110c7b60e23e356d97
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
The reg in soc_mixer_control is 32-bit. When using
SOC_SINGLE_EXT, the value of FE DAI ID which is passed
as shift(to be operated on the reg) may be more than 31,
which may cause overflow.
Use SOC_DOUBLE_EXT instead of SOC_SINGLE_EXT so that the
reg field can be set to SOC_NO_PM to avoid any DAPM operation,
while passing BE and FE IDs in shift and rshift fields. And
these values can be retrieve in get/put functions and use them.
This is to avoid any possible overflow in DAPM operation.
Change-Id: I17fa4e059889ae725e6f015a779f518e6d0a813f
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Move the tdm device property logs from probe function
to prepare function to print them only when tdm usecase
is started and not during bootup.
Change-Id: I3844709d501bf510620d6f20f270e30c68e78b78
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Buffer from mixer ctl or ADSP is composed of payload size and
actual payload. On a 32 bit platform, we could have an overflow
if payload size is below UINT_MAX while payload size + sizeof(struct)
is over UINT_MAX. Allocated memory size would be less than expected.
Check payload size against limit before memory allocation.
Change-Id: I0bf19ca7b8c93083177a21ad726122dc20f45551
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Component unbind happens in component_bind_all, if component
bind fails. There is no need to call extra component_unbind_all.
Change-Id: I4ff2aececc5e10c5c4cfbe71778630c621768349
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Sometimes codec enumerates before APPS APR communication happens
with ADSP. Since wcd9360 MCLK request goes through APR, defer the
codec probe till mclk is available.
Change-Id: Ief5bb80f4c62fcf58a8cc93f11a9b4536f883d1e
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
After enabling compilation with LLVM for audio drivers,
some assignment warnings are reported. Add this change
to resolve the compilation warnings.
Change-Id: I571b2e210053bc0b80d65cd272ce1751e0ed10fb
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Enable or disable mbhc clk in sync with L_DET
so that L_DET interrupt is not raised for
false positives for usbc analog.
Change-Id: I69792e8dc82cdc80751f2c1c705f603074cb9a2f
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Assign mic gnd swap function if usbc analog is
enabled. This is irrespective of whether us_euro
gpio is defined.
Change-Id: I6cf5beadca18682a7488db2286986883dbbcdf3d
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Remove unused mic widgets and add new mic widgets
required for msmnile target.
Change-Id: I5e5ed56a80324b48599a00a196d99ed4ab386412
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
WSA8815 requires default boost state of MAX_STATE_2, when
speaker protection feature is disabled. Set boost state to
MAX_STATE_2 in all cases for WSA8815.
Change-Id: Ic700d9a206e94a4cdd1d99f8547bed9df1e759e8
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
After applying calibration on DSP, cal block
is marked stale to ensure same calibration is not
reused for future usecase.
Change-Id: I9f446c0602f4ab34ca71b9d2611319624fb19cd2
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
After headset removal disable button current source
to not have any voltages output in micbias after
headset removal from extension cable.
Change-Id: I2a751c16c704176381bb26f375aebf351686e911
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Null check is needed before accessing swr control data
to ensure proper error handling in case speaker path
is issued when swr is not enabled.
Change-Id: I5037a912652189b3ae58f1119d0534777a9c264a
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Devm clean up functions are removed to avoid calling twice
as these are excuted during removal of device.
Change-Id: Ifddde69d189b59456ef7627f32532198654e40d3
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Add pahu-slim-ngd under wcd_slim_device_id list to
register pahu codec with slimbus driver.
Change-Id: I87a9a56087fd1520fe592b39eb142297c2f176e0
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Update register default values before post SSR to avoid codec nack issue.
Change-Id: Ibf1e3275d27c4b65ab179b9ddc5a51621c89eab7
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Add change to parse fsa handle in machine driver
to use it to call gnd/mic swap api of fsa driver.
Change-Id: Ie9c2aede45138b0d4e3bf94f11feccab47874223
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add support for usbc analog audio for msmnile platform
by adding fsa driver calls in mbhc driver to make
any switching orientation changes of gnd/mic.
Change-Id: Iab7511907325a24345734402c10a4cf5f8ebfa23
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
In Tavil driver, both ANC0 and ANC1 channel registers are written when
each ANC channel is enabled. This logic results in high latency during
ANC enablement on Tavil codec. Optimize this logic by only writing the
corresponding channel registers when enabling ANC0 or ANC1.
Change-Id: I62e8572967e6ca6c851cbaaad5f1b8c19e5b1a5f
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Update module symbol folder from PRODUCT_OUT to OUT.
Change-Id: I4542c3d2b5e9e39b69f15954ef425c1915a58456
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Euro usb-c analog support is not present in machine driver
for sdm670. Add support for corresponding gpio
so that usb-c analog headset is reported correctly.
CRs-Fixed: 2164436
Change-Id: I4bf73a9f13b7b8193289706ac21f96c557503fd8
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
During Tx path enablement, amic information is needed for proper
power level settings and for better performance. Existing API returns
incorrect amic information. Changes provide the correct amic information.
Change-Id: I18f3f35212cae47e5d944c2e075f03889147722b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Fix hardware sequence for AQT1000 as per hardware
requirements to bring codec out of reset for playback
and capture usecases on headset.
Change-Id: I7419aec36aefc2887583308a60d1ea246d000469
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add frontend and backend dailinks for playback and capture paths
of WCD934x codec and runtime detection support of WCD934x codec
and WCD9360 codec on msmnile target.
Change-Id: Iff189a89c6515a6196714a00d21a0fb4de939e3f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add support to set and get audio effects module params with
Instance ID support. Maintain support for non
Instance ID set and get param structures as well.
Use common pack and set param functions to set and
get parameters to DSP instead of handling them at an
individual module level.
CRs-Fixed: 2151551
Change-Id: I0fdba2560950c931a2ec6f152499fd4bb9f59086
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Add support to set and get dap modules params with
Instance ID support for both Dolby and DS2.
Maintain support for non Instance ID set and get param
structures as well. Use common pack and set param
functions to set and get parameters to DSP instead of
handling them at an individual module level.
CRs-Fixed: 2151551
Change-Id: I1633b63a1a598c0e4ea874d00655b09a240a47e3
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Add support to set and get ADM module params with
Instance ID support. Maintain support for non
Instance ID set and get param structures as well.
Use common pack and set param functions to set and
get parameters to DSP instead of handling them at an
individual module level.
CRs-Fixed: 2151551
Change-Id: I5ef920448dd827d8a315e248087997f703061263
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Enablement of WCD934x and WCD9360 codecs for dynamic detection
results in redefinition errors due to same enums and API definition
in WCD934x and WCD9360 codec drivers. Resolve the same.
Change-Id: Ifed50dc1df0562ba62b14187597cad2bed6c1115
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add new dais to support multiple record session in
compress path.
CRs-Fixed: 2167556
Change-Id: I2020adc2fd2e56e7ad76529e53a772963a64cdd9
Signed-off-by: Sachin Mohan Gadag <sgadag@codeaurora.org>
Add new dais to support compress record usecase.
Update media_encoder_format api to v4 version in
compress driver.
CRs-Fixed: 2167556
Change-Id: I8a2f8a4cdcec4bb31ad94730eb4f1259e800c70c
Signed-off-by: Sachin Mohan Gadag <sgadag@codeaurora.org>
As CONFIG_SND_HWDEP is defined by default
in kernel tree, msm-pcm-routing-devdep.c file
in audio drivers gets compiled always.
Use CONFIG_SND_HWDEP_ROUTING config instead of
CONFIG_SND_HWDEP to compile msm-pcm-routing-devdep.c
file.
Change-Id: I19c4b0a56dbe6c4890ece645fcf100687f762f5d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Add support to set and get voice module params with
Instance ID support. Maintain support for non
Instance ID set and get param structures as well.
Use common pack and set param functions to set and
get parameters to DSP instead of handling them at an
individual module level.
CRs-Fixed: 2151551
Change-Id: I045e27710d69304f234ace1ff6c80afdd4a4041c
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Expose APIs to get and set instance ID support by exposing a
mixer control for userspace to set the support status as well
as APIs for kernel components to querry for instance ID support.
CRs-Fixed: 2151551
Change-Id: I3b462a4c0f31152a2865af8f4e9664a6c4d324c3
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>