Commit Graph

1657 Commits

Author SHA1 Message Date
Vignesh Kulothungan
764b2d2e8e asoc: pcm: modify component extraction
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>
2019-03-21 11:01:43 -07:00
Meng Wang
8a2a104156 asoc: add NULL check before access pointer
Add NULL check before access pointer to avoid dereference.

Change-Id: I2c7408348a0acf1a3801a5869f62bae328858beb
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-03-21 10:46:02 +08:00
Meng Wang
578740db71 asoc: wcd937x: Disable EN_CUR_DET bit for receiver noise
Disable EN_CUR_DET to fix receiver noise as per hw team
recommendation.

Change-Id: Icbeea920d02279ff845072e54be1c449db7bd2da
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-03-20 17:24:22 -07:00
Linux Build Service Account
527070fcf2 Merge "dsp: get excursion logging at afe close for wsa and log data" 2019-03-20 12:00:42 -07:00
Linux Build Service Account
36e68604f0 Merge "asoc: wcd-spi: use CMA memory for TX and RX buffer instead of kzalloc" 2019-03-20 02:29:22 -07:00
Vatsal Bucha
13faf538b3 ASoC: wcd937x: Fix playback stop issue after SSR/PDR on special hs
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>
2019-03-20 15:44:14 +08:00
Laxminath Kasam
36384ecca2 dsp: get excursion logging at afe close for wsa and log data
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>
2019-03-20 00:07:28 -07:00
Laxminath Kasam
f16ed2f6c2 asoc: wcd938x: Disable EN_CUR_DET bit for receiver noise
Disable EN_CUR_DET to fix receiver noise as per hardware
specifications recommendation.

Change-Id: Ib1ea1eecc3e0f2ffeeb5f41c344e51c903cd2300
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-03-20 08:26:12 +08:00
Linux Build Service Account
256a85678f Merge "dsp: afe: Implement get param for excursion logging parameters" 2019-03-18 20:29:30 -07:00
Sudheer Papothi
828b3114fe ASoC: bolero: va-macro: Fix ioremap in va macro probe
Update va-macro ioremap offset properly during probe.

Change-Id: I3c4b1d6ba24b7935c3ba047059f72ed06bdafe4f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-03-19 03:04:57 +05:30
Linux Build Service Account
eaa3444377 Merge "asoc: uapi: Update LOCAL_ADDITIONAL_DEPENDENCIES" 2019-03-15 03:30:56 -07:00
Aditya Bavanari
740b4839cb dsp: afe: Implement get param for excursion logging parameters
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>
2019-03-15 15:56:01 +08:00
Linux Build Service Account
0ee1dbafc2 Merge "soc: swr-mstr: Avoid redunant delay for wcd934x" 2019-03-14 15:24:21 -07:00
Linux Build Service Account
66547d7c3f Merge "dsp: asm: Add check for num_channels before calling q6asm_map_channels" 2019-03-14 15:24:19 -07:00
Gerrit - the friendly Code Review server
6d212e6c74 Merge changes into audio-drivers.lnx.4.0 2019-03-14 06:59:01 -07:00
Linux Build Service Account
e848e37cb2 Merge "dsp: asm: validate ADSP data size before access" 2019-03-14 06:55:35 -07:00
Linux Build Service Account
766e57f94b Merge "ipc: apr: check for packet size to header size comparison" 2019-03-14 06:55:34 -07:00
Linux Build Service Account
f8222a77eb Merge "ASoC: codecs: Add support for soundwire clock for VA usecase" 2019-03-14 06:55:31 -07:00
Linux Build Service Account
48d488c18c Merge "asoc: sm6150: Remove zdet gpio callback for tasha variant" 2019-03-14 06:55:30 -07:00
Linux Build Service Account
8d44b4ee14 Merge "asoc: Stream_open issue fix for gapless playback" 2019-03-14 06:55:29 -07:00
Linux Build Service Account
fb966ab3ae Merge "dsp: q6voice: Check size of payload before access" 2019-03-14 06:55:27 -07:00
Linux Build Service Account
3d5756e60a Merge "uapi: wcd-spi-ac: add interface for client driver" 2019-03-14 06:55:25 -07:00
Linux Build Service Account
ba543e1f8f Merge "dsp: q6voice: Check size of payload before access" 2019-03-14 06:55:22 -07:00
Linux Build Service Account
7b786004c0 Merge "asoc: Reorder list used in topology search" 2019-03-14 06:55:20 -07:00
Linux Build Service Account
ae8bc1e1f2 Merge "dsp: q6voice: Check size of shared memory buffer before access" 2019-03-14 06:55:16 -07:00
Linux Build Service Account
59342f5264 Merge "asoc: avoid excessive logging" 2019-03-14 06:55:13 -07:00
Laxminath Kasam
2e13d95506 dsp: q6afe: Add v-validation support for speaker
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>
2019-03-13 19:53:30 -07:00
Laxminath Kasam
a6ecf498c1 audio: uapi: Update v-validation get and set params
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>
2019-03-13 19:53:05 -07:00
Linux Build Service Account
cd01483c9d Merge "asoc: msm-lsm-client: stop lab during lsm close" 2019-03-13 14:32:05 -07:00
Sudheer Papothi
3557d14ce8 ASoC: wcd938x: Update routing for HDR recording
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>
2019-03-13 14:05:19 -07:00
Linux Build Service Account
28cf96f41d Merge "asoc: add support to configure MFC in ec ref path" 2019-03-13 13:13:46 -07:00
Linux Build Service Account
7994527b64 Merge "dsp: add support to configure MFC in ec ref path" 2019-03-13 13:13:45 -07:00
Linux Build Service Account
8fd4a210ab Merge "msm: vote for LPASS core while access LPASS registers" 2019-03-13 03:33:04 -07:00
Meng Wang
22ff651406 asoc: uapi: Update LOCAL_ADDITIONAL_DEPENDENCIES
Update LOCAL_ADDITIONAL_DEPENDENCIES to fix kernel header
build dependency.

Change-Id: I3eeb3b9e9e021b16b50d26851e284a843132eff7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-03-13 16:05:14 +08:00
Xiaoyu Ye
89cc889a44 asoc: wcd-spi: use CMA memory for TX and RX buffer instead of kzalloc
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>
2019-03-13 15:22:12 +08:00
Vatsal Bucha
0714ffdfcb dsp: q6voice: Check size of shared memory buffer before access
Check buffer size in qdsp_cvs_callback before access in
ul_pkt.

Change-Id: Ic19994b46086709231656ec747d2df988b7a512f
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-03-12 22:42:21 -07:00
Haynes Mathew George
4728d6b2b5 asoc: Reorder list used in topology search
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>
2019-03-12 22:38:33 -07:00
Xiaoyu Ye
f74e89bd89 asoc: avoid excessive logging
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>
2019-03-12 22:28:30 -07:00
Tanya Dixit
be0391da6c dsp: q6voice: Check size of payload before access
Check size of payload array before access in qdsp_cvp_callback.

Change-Id: Ic5ea6686a1a09df75ddd5e6fdcdfbd74efff83d8
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2019-03-12 22:22:02 -07:00
Bhalchandra Gajare
c36b0b9752 uapi: wcd-spi-ac: add interface for client driver
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>
2019-03-12 22:20:25 -07:00
Tanya Dixit
d591f497ce dsp: q6voice: Check size of payload before access
Check size of payload array before access in qdsp_mvm_callback.

Change-Id: I81d945f963cfb4a3cb26155700b82880d891ec5e
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-03-12 22:15:55 -07:00
Nidhisha Dhananjayan
d84669e428 asoc: Stream_open issue fix for gapless playback
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>
2019-03-12 22:11:07 -07:00
Ramprasad Katkam
1e90620030 soc: swr-mstr: Avoid redunant delay for wcd934x
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>
2019-03-12 22:06:36 -07:00
Dhananjay Kumar
242b5b060a asoc: add support to configure MFC in ec ref path
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>
2019-03-12 22:05:45 -07:00
Dhananjay Kumar
4303439281 dsp: add support to configure MFC in ec ref path
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>
2019-03-12 22:04:58 -07:00
Chaithanya Krishna Bacharaju
52bb6616c1 asoc: msm-lsm-client: stop lab during lsm close
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>
2019-03-12 22:02:10 -07:00
Aditya Bavanari
350d51c06a asoc: sm6150: Remove zdet gpio callback for tasha variant
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>
2019-03-13 09:41:48 +08:00
Vignesh Kulothungan
52b8722a94 dsp: asm: validate ADSP data size before access
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>
2019-03-12 11:42:59 -07:00
Linux Build Service Account
8766446f90 Merge "asoc: add support for assigning SLIMbus device ID dynamically" 2019-03-12 02:58:38 -07:00
Rohit kumar
2a64e52662 dsp: asm: Add check for num_channels before calling q6asm_map_channels
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>
2019-03-11 05:39:41 -07:00