Component for channel map mixer control should be
extracted from pcm runtime instead of kcontrol's private data,
because kcontrol's private data in this case points to channel
map info.
CRs-Fixed: 2420279
Change-Id: Ibaeac4739b73a89d17f16cbacb1b5095d546968b
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Add NULL check before access pointer to avoid dereference.
Change-Id: I2c7408348a0acf1a3801a5869f62bae328858beb
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Disable EN_CUR_DET to fix receiver noise as per hw team
recommendation.
Change-Id: Icbeea920d02279ff845072e54be1c449db7bd2da
Signed-off-by: Meng Wang <mengw@codeaurora.org>
If we start playback on special hs after record is done and perform
SSR/PDR then playback gets paused. This happens because ANA_TX_DIV2_CLK
which needs to be enabled for special hs gets disabled after record
is stopped. Maintain a count for ANA_DIV2_CLK to enable/disable it
as required.
Change-Id: Ic73475c83cb16e3c014f35b8d46ee22d2e7a2efd
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Trigger xt logging getparam at every playback close
and store data. When app queries sys/class node, return
stored values and reset to 0 for some params as per
app requirement.
Change-Id: Ice1a3e9a7e03062390f1c36184a971635e55d450
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Implement get param for AFE_PARAM_ID_SP_RX_TMAX_XMAX_LOGGING
in order to get excursion params from DSP.
Change-Id: I5129938c51c6f6ede9d4703d13be60d04d26f5e3
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
With speaker protection in v-validation mode, speaker
samples can be tested in early factory mode. Add
support for v-validation feature from driver.
Change-Id: I92493d6d2784cf4dd58021746bffe01180f89d23
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add v-validation feature support for set config for
wait time and validation time and get param
for status/vrms result of speaker.
Change-Id: I1bd91fbe17113a21c881e1ec1c735c50a963a692
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Update audio routings for HDR recording on WCD938x codec
for AMIC1 and AMIC5 paths.
Change-Id: I67b93fe11c7a5b16ffd4bb8b58431be9dfba615e
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
In wcd-spi driver, the kzalloc is used to allocate memory for TX and
RX buffer. Those allocations are order4 or order5, which could fail
on some kernels. To avoid potential memory allocation failure, the CMA
region is used for those allocations by dma_alloc_coherent API.
Change-Id: I0a4d6c6b5e0e47f96187563272e63c3a006e469f
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Check buffer size in qdsp_cvs_callback before access in
ul_pkt.
Change-Id: Ic19994b46086709231656ec747d2df988b7a512f
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Routing driver searches CAL_TYPE list for a matching
topology and then searches the LSM_CAL_TYPE list if
no entry is found in the first list.
If it so happens that a capture type cal block is
present in the CAL_TYPE list, it will be picked even
though the correct entry is present in the LSM_CAL_TYPE list.
Flip the order to give priority to LSM_CAL_TYPE list.
We expect only LSM clients to populate this list and
also enforce exact match for LSM clients.
CRs-Fixed: 2250684
Change-Id: I2ab3481b43a5d8b059a20cb919ff097fc8cf2774
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
Excessive logging by pr_err() could cause audio thread to stuck
in the printing session which results PD down notification timeout.
This eventually can cause ADSP PDR failure. Fix this issue by using
pr_err_ratelimited and dev_err_ratelimited to limit the number of
error messages during the ADSP PDR.
Change-Id: I68b617fef53ebd03ba79fd919bffd8c35e6eb048
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Check size of payload array before access in qdsp_cvp_callback.
Change-Id: Ic5ea6686a1a09df75ddd5e6fdcdfbd74efff83d8
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
The wcd-spi-ac (access control) driver exposes character
device to userspace to indicate information regarding
WCD SPI usage. Add uapi header file with the commands
and data expected by the character driver.
Change-Id: I41dfc3181041c7e7a1bad8695fa723d3a965036b
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Check size of payload array before access in qdsp_mvm_callback.
Change-Id: I81d945f963cfb4a3cb26155700b82880d891ec5e
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
msm_compr_trigger for next track is updated with
q6asm_stream_open_write_v5 depending on the
avcs_api_version.
Change-Id: I6b3862a7b8e0480fffdcddc2ff0949cf5399d7a6
Signed-off-by: Nidhisha Dhananjayan <nidhis@codeaurora.org>
For codecs like tavil/tasha where the soundwire register access
is through codec bridge, the soundwire bus latency is absorbed
in slimbus io operations, hence do not require extra delay in
soundwire driver for io operations.
Change-Id: If77aa02f0c3c1755916b7a57776115d12e4f08bd
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Add support to process ec at channel count other than the
playback channel count by providing ability to set downmixed
channel count and downmixing weights to be used to downmix
ec ref data obtained from playback path.
These configs would be used to explicitly configure MFC module
present in ec ref path, for usecases where ec processing cannot
be done at playback channel count due to algorithmic or resource
limitations.
Also increase the ec ref channel count support to Sixteen from
current max of Eight.
Change-Id: I2297508aedd177580b1c9b2bed3c7c8421507629
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Add support to process ec at channel count other than the
playback channel count by providing ability to set downmixed
channel count and downmixing weights to be used to downmix
ec ref data obtained from playback path.
These configs would be used to explicitly configure MFC module
present in ec ref path, for usecases where ec processing cannot
be done at playback channel count due to algorithmic or resource
limitations.
Change-Id: Iaa80a0f0da3697c55751b2201578252d6466d3b5
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Buffering is not stopped during lsm close due to
which lab buffers can be queued during teardown of
session. This leads to read being issued even after session
close. Stop lab during close to avoid this. Use correct
return value to indicate errors during lsm start and stop.
Change-Id: I52fa33cebaa3ee6ae60eb2a60bb1e833f2a9d0d6
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Remove impedance detection gpio callback function for tasha
variant as gpio control is not required for zdet.
Change-Id: Ic038d11c078241ca438cdff756fd666f6106d509
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Check the size of ADSP payload before accessing it.
Validate buffer index obtained from ADSP token before using it.
CRs-Fixed: 2372302
Change-Id: I3f5e1b6f515935a10a8c59c324452be0a71f9473
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Channel_mapping array size varies for different commands.
Add check for num_channels before calling q6asm_map_channels.
Change-Id: Iccbcfe82f716fc0ffe0a26b1779dcaa1c3cb805b
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>