Commit graph

4,172 commits

Author SHA1 Message Date
qctecmdr
f15dbf3313 Merge "ASoC : add support of HDMI controller for rb3gen2 platform" 2023-11-03 04:49:03 -07:00
Yanhong Wu
b8a853fbe6 ASoC : add support of HDMI controller for rb3gen2 platform
- add support for HDMI controller and
  HDMI external display detection mechanism
- add controls for HDMI

Change-Id: I5da8a12d337d649e49aa2e56c90566a530706287
2023-10-19 15:43:03 +08:00
Soumya Managoli
5a4223f249 Revert "asoc: msm-compress : Fix for CTS-on-gsi with gki"
This reverts commit 2c817ed5d8.

Reason for revert: Reverting it untill the dependent gerrit https://review-android.quicinc.com/c/kernel/msm-5.4/+/4887724 is not merged

Change-Id: I6774e50ffb263a42e4bb0fef5d36ce8982b224f9
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-10-18 17:30:03 +05:30
qctecmdr
bed4a769f2 Merge "asoc: msm-compress : Fix for CTS-on-gsi with gki" 2023-10-17 03:17:45 -07:00
qctecmdr
d473924db3 Merge "audio-kernel:swr: Add dynamic SWRM clk support" 2023-10-17 03:17:43 -07:00
Harendra Gautam
5206840c7d audio-kernel:swr: Add dynamic SWRM clk support
- Add support to load dynamic soundwire master clk
  from devicetree file.

Change-Id: I59527f42aa7d3a7b00a0b161c3867c16aaecb263
Signed-off-by: Harendra Gautam <quic_hgautam@quicinc.com>
2023-10-15 22:06:10 -07:00
Abhilash Sathyanarayana
bc1ce40dc0 asoc: codec: make mclk freq configurable in Bolero
Add support to make mclk freq configurable in Bolero
Macros - VA, TX and RX. Fallback to 9.6MHz if mclk
frequency is not defined in DTSI.

Change-Id: I27034d6bd31e1ed225adfc8de1b43cd68da84db3
Signed-off-by: Abhilash Sathyanarayana <quic_abhisath@quicinc.com>
2023-10-11 19:06:07 +05:30
Abhilash Sathyanarayana
981ef85c0e asoc: lahaina: Add ext clk source support
For audio interfaces to be sourced from an external clock, one needs to
configure clock attributes such as the clock root and RCG registers for
operation at an appropriate clock frequency. Add support for this by
registering for a callback with Q6AFE driver which during clock enable,
provides clock attribute values and toggles the GPIO pin sourcing the
external clock.

Change-Id: I64a849e045a13dedd876b6a82c727a0e0610cbb7
Signed-off-by: Abhilash Sathyanarayana <quic_abhisath@quicinc.com>
2023-10-10 08:52:09 -07:00
Abhilash Sathyanarayana
789301acc7 asoc: ext-clk: Add support for configuring ext clk
In the case an external clock is used to source the MCLK, configure
additional clock attributes to be sent to the DSP. Introduce parsing of
new DT properties about the external clock frequency which is required
to find the appropriate clock attributes whilst providing backward
compatibility to not send any additional clock attributes to the DSP.

Change-Id: I029080fe509f9545fb9785bf4a9225e9bb7dff46
Signed-off-by: Abhilash Sathyanarayana <quic_abhisath@quicinc.com>
2023-10-10 08:46:02 -07:00
Abhilash Sathyanarayana
bfe2d34ede dsp: afe: Enhance and expose API for configuring ext clk
To configure the external clock, the client (machine driver) is expected
to configure the clock attributes (M, N, D, div2x, clk root, etc.) and if
required, to toggle the external clock source in the registered callback
function, before sending the param to the DSP. Expose the API to the
clock driver for the same. During clock disable, the sequence of
operations is reversed.

Change-Id: I289625e40c3a9c102270eae3c10ad7bf1a112f4f
Signed-off-by: Abhilash Sathyanarayana <quic_abhisath@quicinc.com>
2023-10-10 08:45:39 -07:00
Vaibhav Raut
2c817ed5d8 asoc: msm-compress : Fix for CTS-on-gsi with gki
compress_pause was failing on gki mode due to change in
stream state. The change is done to enable pausing even
when the stream state is in the draining state.

Change-Id: I3c29236298f4257f3606827cd82f1b962b6ad802
Signed-off-by: Vaibhav Raut <quic_vraut@quicinc.com>
2023-09-26 11:10:30 +05:30
Soumya Managoli
cc879c910d ASoC: msm-pcm-host-voice: Handle mutex lock-unlock
Return error when dai_data is NULL thereby
avoiding mutex unlock when lock is not acquired.

Change-Id: Ica43cac41da5ff03847641ea5b8d40630976b451
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-09-13 13:23:27 +05:30
qctecmdr
c011875a23 Merge "ASoC: msm-audio-effects-q6-v2: Add BPF order check" 2023-08-23 04:09:20 -07:00
qctecmdr
7baccc0c3b Merge "Asoc: add functionality to get source Track data from FNN module" 2023-08-17 00:26:46 -07:00
Sandhya Mutha Naga Venkata
a225b1346d ASoC: msm-audio-effects-q6-v2: Add BPF order check
Added check for bandpassfilter order in order to avoid
coeff len going out of bounds thereby leading to
memory overflow issues.

Change-Id: I401f5f38a3d54d9d6af66e770d03629ed5e1a2bd
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-08-16 22:11:43 -07:00
qctecmdr
bc70019600 Merge "dsp: add support to get Source Track data from FNN module" 2023-08-15 23:55:03 -07:00
qctecmdr
2ed57ce4a0 Merge "asoc: Add jitter cleaner external clock switch" 2023-08-15 23:55:03 -07:00
Hari Krishna Chowdary Yennana
20af3e7715 Asoc: add functionality to get source Track data from FNN module
- Add support to get Source track data from Adsp's FNN module

Change-Id: Icea13a0ab036d753a4343be04f4ff58bbe3b747c
2023-08-16 12:14:47 +05:30
Hari Krishna Chowdary Yennana
a1937b4242 dsp: add support to get Source Track data from FNN module
- Add support for both audio record and voip call usecases to get STT
  params from dsp.

Change-Id: Ifde484be0109ca25fb7cb9572abc506c1a70e4a4
2023-08-15 22:19:43 -07:00
Vijay Kumar Maddula
782c8273ed asoc: lahaina: add 16 channel support on tdm interface
Added support for 16 channel playback and capture support
on tdm interface

Change-Id: Idbfe55f5ee29c3f01a379e24e85288321dbeee3b
2023-08-13 23:29:40 -07:00
Jing Wang
69a16a0e0f asoc: Add jitter cleaner external clock switch
Add jitter cleaner external clock switch.

Change-Id: Iacdaef52ca0d00bb4423cb8a719ef5e955711619
Signed-off-by: Jing Wang <quic_c_jingwa@quicinc.com>
2023-08-11 04:00:11 -07:00
qctecmdr
7198399f4e Merge "ASoC: msm-pcm-host-voice: Check validity of session idx" 2023-08-11 00:27:08 -07:00
Soumya Managoli
9c91c3d179 dsp: q6asm: Add check for ADSP payload size
There is no check for the ADSP returned payload size
for ASM_SESSION_CMD_GET_MTMX_STRTR_PARAMS_V2 cmd response.
This can lead to buffer overread. Fix is to address this.

Change-Id: I0bd6ee7f19823addc5dde1dfbb32b8a9b102a725
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-08-09 05:16:23 -07:00
qctecmdr
1c04162edc Merge "dsp: Address information leak in dsp drivers" 2023-08-07 22:28:10 -07:00
qctecmdr
7e844dff13 Merge "dsp: q6afe: Add check for fbsp state" 2023-08-07 04:32:12 -07:00
Soumya Managoli
eb692cb343 ASoC: msm-pcm-host-voice: Check validity of session idx
Added check for voice session index.

Change-Id: Ifff36add5d62f2fdc3395de1447075d297f2c2df
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-08-04 20:03:16 -07:00
Soumya Managoli
56fd62a423 dsp: Address information leak in dsp drivers
Due to uninitialised variables used in q6voice
and q6usm drivers, there is a possibility of stack
information leak whenever lesser size data is copied.
Fix is to address this.

Change-Id: I6888b468ce50114be3139111ccf4696827540cfd
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-08-04 12:05:44 +05:30
Soumya Managoli
79f709cdec dsp: q6lsm: Address use after free for mmap handle
The global declared mmap_handle can be left dangling
for case when the handle is freed by the calling function.
Fix is to address this. Also add a check to make sure
the mmap_handle is accessed legally.

Change-Id: I367f8a41339aa0025b545b125ee820220efedeee
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-08-03 03:11:49 -07:00
Soumya Managoli
48f5d8b079 dsp: q6afe: Add check for fbsp state
Added check for fbsp state in get_calib_data functions
to avoid OOB read issues.

Change-Id: I6e818892a6b76497aa41241db3849802f394160a
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-08-03 14:59:41 +05:30
Soumya Managoli
01db7bcebc dsp: q6lsm: Add check for payload buffer
Check get_param_payload buffer ptr before accessing.

Change-Id: I5470983188dffeec14965a5cdec30747b98735e7
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-08-03 00:00:06 -07:00
qctecmdr
5423d9ef23 Merge "ASoC: dsp: q6core: Avoid use after free" 2023-08-01 05:50:22 -07:00
qctecmdr
3523bb525a Merge "ASoC: Resolve use after free in listen sound client" 2023-08-01 05:50:22 -07:00
Soumya Managoli
a69e001b34 ASoC: Resolve use after free in listen sound client
Updated get_param_payload buffer ptr to NULL
after free to avoid use after free issue.

Change-Id: I86da8c12a0bdccce690f67b037198b67640e339b
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-07-31 16:10:36 +05:30
Soumya Managoli
e3971c3e31 ASoC: dsp: q6core: Avoid use after free
Add check for AVCS_CMD_RSP_LOAD_MODULE response payload
to avoid its access after free.

Change-Id: I3023e6676a27fe33d2cc0f44a49813f0ed0ebe3b
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-07-25 23:08:50 -07:00
Soumya Managoli
bbf1413556 ASoC: msm-lsm-client: Integer overflow check
Add integer overflow check for lsm_params_get_info size.

Change-Id: I1130b5294f5de65eb8c595030c4db221337b1c8a
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-07-19 22:43:33 -07:00
Shalini Manjunatha
ba56a64009 asoc:msm-lsm-client: check for param size before copying
check for the proper param size before copying,
to avoid OOB memory access of buffer.

Change-Id: I8e9bd3b4be9a2797e76dce403578c038fc07dd58
Signed-off-by: Shalini Manjunatha <quic_c_shalma@quicinc.com>
2023-07-13 05:19:47 -07:00
Shalini Manjunatha
f47869b550 ASoC: msm-pcm-q6-v2: Add dsp buf check
Fix is to add check for this ADSP returned buf offset + size,
if it is within the available buf size range

Change-Id: I400cc4f5c07164f0a9b405ebea144ea0ae4b6cf2
Signed-off-by: Shalini Manjunatha <quic_c_shalma@quicinc.com>
2023-06-27 16:30:54 +05:30
Boyuan Yan
1a53e0ded7 ASoC: Add the judgment for TDM
Add support to remove unnecessary TDM route where TDM is not need.

Change-Id: I56aee33cbb9ecbc190fc24bfa14a071263661292
Signed-off-by: Boyuan Yan <quic_boyuyan@quicinc.com>
2023-06-21 00:19:25 -07:00
qctecmdr
25d4369a38 Merge "asoc: swrm: disable bus reset based on swrm verison" 2023-06-02 20:48:35 -07:00
qctecmdr
2078a881a3 Merge "dsp: afe: Add check for num_channels" 2023-06-02 00:34:00 -07:00
Vijay Kumar Maddula
40946c4d07 asoc: swrm: disable bus reset based on swrm verison
Bus reset is creating mismatch in interrupt generation sequence
and leading to audio playback mute.
Disabling bus reset for soundwire master version 1.5

Change-Id: I1d41a8d11d1f86c8a538f0b8d234bb6d001268ad
Signed-off-by: Vijay Kumar Maddula <quic_vmaddula@quicinc.com>
2023-06-01 23:09:38 -07:00
qctecmdr
5b442f55ec Merge "ASoC: msm-pcm-voip: Avoid interger underflow" 2023-06-01 12:27:26 -07:00
qctecmdr
f84fb83ead Merge "dsp: afe: check for param size before copying" 2023-06-01 12:27:26 -07:00
qctecmdr
1ec47d24b6 Merge "dsp: afe: Add check for sidetone iir config copy size" 2023-06-01 12:27:26 -07:00
qctecmdr
e9cdb60d7b Merge "ASoC: msm-pcm-host-voice: Address buffer overflow in hpcm playback copy" 2023-06-01 12:27:25 -07:00
qctecmdr
b1e8cf3187 Merge "dsp: q6core: validate payload size before access for AVCS" 2023-06-01 12:27:25 -07:00
qctecmdr
6ca72c1cd0 Merge "dsp: asm: validate payload size before access" 2023-06-01 12:27:25 -07:00
qctecmdr
efbb81f9ad Merge "soc: swr-mstr-ctrl: add new lock to sync runtime_resume and runtime_suspend" 2023-05-31 20:48:04 -07:00
Soumya Managoli
7db940a090 dsp: afe: Add check for sidetone iir config copy size
Avoid OOB access of sidetone iir config array when
iir_num_biquad_stages returned from cal block is > 10

Change-Id: I45b95e8bdd1a993a526590c94cf2f9a85c12af37
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-05-30 11:44:18 +05:30
Soumya Managoli
e21e857f42 ASoC: msm-pcm-host-voice: Address buffer overflow in hpcm playback copy
Add buf len check for the playback data before copy
to avoid OOB issues.

Change-Id: I737d09e275463292365cd183b9a43d09ff9ccbf2
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-05-29 15:41:20 +05:30