Commit-Graf

2962 Incheckningar

Upphovsman SHA1 Meddelande Datum
Kunlei Zhang
de2c1d0cf9 asoc: lpass-cdc: clear active channel cnt if channel is active
Clear active channel cnt if the channel has enabled.

Change-Id: I364f4253398e8d42c3d9e3d44cce7f65c5863bf7
2023-05-09 10:32:39 +08:00
qctecmdr
aa58b20036 Merge "asoc: msm_dailink: Update btfm proxy codec dai name" 2023-05-08 06:29:00 -07:00
Yuhui Zhao
5990a54d8e asoc: lpass-cdc: add enable check before tx mixer put
Check whether tx channel had been enabled or disabled before
tx channel set.

Change-Id: I1f2e0132f0905a53df989b5d52370c4dfdf7d99b
2023-05-04 12:10:41 -07:00
Rohit kumar
c3f607c535 asoc: msm_dailink: Update btfm proxy codec dai name
Codec dai name for btfm proxy is changed to not use
slim keyword. Update dai name as updated in codec driver.

Change-Id: I1c8a815959a448f476aefa3b892311c279db00cd
Signed-off-by: Rohit kumar <quic_rohkumar@quicinc.com>
2023-05-03 12:13:13 +05:30
qctecmdr
a8496e9bf4 Merge "asoc: wcd-mbhc: skip AATC switch settings for SSR/PDR" 2023-05-01 03:16:37 -07:00
qctecmdr
e1715432ea Merge "wcd939x: update register defaults for wcd939x codec" 2023-04-30 06:09:45 -07:00
qctecmdr
b8506aa704 Merge "asoc: wsa884x: update INTR_CLEAR0/1 register to volatile" 2023-04-30 06:09:45 -07:00
Prasad Kumpatla
23853e3c76 asoc: wsa884x: update INTR_CLEAR0/1 register to volatile
In PDR cases INTR_CLEAR registers values are not updating
properly while doing reg_cache in recover from PDR. So add
these registers as volatile to get the exact HW values.

When these registe values are properly updated the FSM_PA
status is reseting properly and working.

Change-Id: I8fa7b01b3256ec8f01edc3fe48a519accfff9638
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-04-28 10:46:38 +05:30
Prasad Kumpatla
9a5bca98b7 asoc: wcd-mbhc: skip AATC switch settings for SSR/PDR
In SSR/PDR usb switch settings won't be reset in wcd939x-i2c
driver. So no need to do switch settings for AATC when recovering
from SSR/PDR. Depends on the status to avoid AATC switch settings
again after  SSR/PDR.

Change-Id: If7fc2a84356a406e9cf7e6cc557e19584fda3969
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-04-28 10:39:37 +05:30
Eric Rosas
f0358171bf asoc: codec: Fix WCD939X readable reg check
Add static variable to store version to avoid improper
device pointer in wcd939x_readable_register().

Update WCD939X_NUM_REGISTERS macro to be correct size.

Change-Id: Ib594f2f799ac2202ff78c02ccf2f6cdb80ffd38e
Signed-off-by: Eric Rosas <quic_erosas@quicinc.com>
2023-04-27 14:55:10 -07:00
Phani Kumar Uppalapati
eb6008aebf wcd939x: update register defaults for wcd939x codec
Few register default values are incorrectly set for harmonium
codec in the register map table. Fix it by setting correct
values as per the hardware interface documentation.

Change-Id: Ibcb517d6050a4932243ead396e6f89294aab4a23
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-04-26 16:02:12 -07:00
Soumya Managoli
5c3832c4a8 ASoC: lpass-cdc: Toggle WSA fs_cnt_clr bit
During spk playback and VA concurrency,
sometimes WSA CLK goes out of sync causing
VI_TX data mute. To resolve this, everytime
after WSA MCLK enable toggle fs_cnt_clr bit.

Change-Id: Ia936f1d4843890d2ae5c02b039f502941a5427b9
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-04-25 23:22:33 +05:30
Prasad Kumpatla
312d94f693 asoc: mbhc: change special HS pr_debug
change the debug print from wcd_mbhc_adc_check_for_spl_headset
func to caller wcd_correct_swch_plug function.

Change-Id: Iabca7351a1abb1ad7b3de15812b4a6014a0463ad
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-04-18 22:28:29 -07:00
qctecmdr
db55976826 Merge "asoc: wsa884x: add null check for wsa884x->component" 2023-04-16 08:07:36 -07:00
qctecmdr
8b0e3889df Merge "audio-kernel: remove unused uapi headers" 2023-04-16 08:07:36 -07:00
qctecmdr
d3f75e675d Merge "asoc: mbhc: enable l_det_en bit" 2023-04-16 08:07:35 -07:00
Prasad Kumpatla
1ea2687052 asoc: wcd939x: Update register sequences for wcd9395 v2.0
Check and update register sequences for wcd9395 version
2.0.

Change-Id: I85fc739744ee2ba2c5dbdc853eb639b84cac6478
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-04-15 07:55:43 -07:00
qctecmdr
8cc45cb345 Merge "asoc: pineapple: Print upd cdc duty cycle register success." 2023-04-15 02:49:36 -07:00
Prasad Kumpatla
1399d39839 asoc: mbhc: enable l_det_en bit
enable l_det_en bit while detecting the HS.

Issue: While removing HS some additional electrical interrupts
are triggered and reporting different events to userspace, which is
cause issues. To avoid this electrical interrupt flow, there is
a check in adc_hs_rem_irq for wcd_swch_level_remove() to check
for l_det_en bit status. Depends on this it will return from the
adc_hs_rem_irq() without going further.

Solution: Enabling the l_det_en bit will helps to avoid serving
electrical interrupt flow to further in adc_hs_rem_irq().So this
will helps to stop reporting different/unwanted events to user space.

Change-Id: I29d72b65ebb59969b69f3f8c7f4c7eb2debb0f1c
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-04-12 11:12:31 +05:30
Prasad Kumpatla
58a039c9e6 asoc: wsa884x: add null check for wsa884x->component
add null check before accessing for wsa884x->component.

Change-Id: I0694ad6426317f2f80d5084125c5b24876f96a65
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-04-11 13:43:09 +05:30
Phani Kumar Uppalapati
664c7a5ac6 audio-kernel: remove unused uapi headers
Remove unused uapi headers and structures for AudioReach
architecture.

Change-Id: I7b7718f118f2c7295aa0a741c1259ab76104de6c
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-04-08 09:55:27 -07:00
Ganapathiraju Sarath Varma
7f605534e2 asoc: wsa88XX: Enable/Disable swr ports based on setbit.
During some concurrencies even though we are not
enabling the swrm port, we are trying to disable it.
which causes problem w.r.t clock disablement,
To avoid that we are updating the set bit only
when port is enabled, based on that bit we are taking
decision to disable or enable the port.

Change-Id: I6707c56c40dd3716917edc097c4b7bcad68261fd
Signed-off-by: Ganapathiraju Sarath Varma <quic_ganavarm@quicinc.com>
2023-04-04 22:20:42 +05:30
qctecmdr
04a1c53fe1 Merge "soc: define ratelimit for prints to avoid flooding of logs" 2023-03-31 06:25:59 -07:00
qctecmdr
d3f8aa4eb7 Merge "asoc: codec: Update wcd939x-usbss mode" 2023-03-30 08:32:56 -07:00
qctecmdr
f481fa25f5 Merge "asoc: wcd939x: Add xtalk cancellation gain updates" 2023-03-30 08:32:56 -07:00
qctecmdr
2bb2cabe85 Merge "asoc: wcd9395: Add support for WCD9395 EAR path" 2023-03-30 08:32:56 -07:00
Prasad Kumpatla
ecbb93d98d soc: define ratelimit for prints to avoid flooding of logs
Change-Id: I7aa38c992716152ebb336190d9d3cd2e9a60e8e0
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-03-30 05:33:58 -07:00
Phani Kumar Uppalapati
ec43052bb3 asoc: wcd9395: Add support for WCD9395 EAR path
Add support for WCD9335 EAR playback path.

Change-Id: I643beaa4d27f279621202893062419ce2a3e96ed
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-03-29 22:13:16 -07:00
Yuhui Zhao
6b2a5ea4d9 asoc: lpass-cdc: add null pointer check in register_notifier func
Add null pointer check in register_notifier funcion.

Change-Id: Icba3776cbf33095dc8bdf32ed7b6c749e639a11b
2023-03-29 21:41:20 -07:00
Sam Rainey
bdf4011578 asoc: wcd939x: Add xtalk cancellation gain updates
Add scale and alpha register value updates based
on computed digital xtalk cancellation gain.

Change-Id: I8c12e2ba7c1566476741fec5459a74549f19cf5f
Signed-off-by: Sam Rainey <quic_rainey@quicinc.com>
2023-03-29 16:48:50 -07:00
Revanth Rajashekar
c5312ac1be asoc: pineapple: Print upd cdc duty cycle register success.
Add a debug print statement to depict a successful
upd cdc duty cycle registration.

Change-Id: I0d80802131479847d60e32e2a7ff13e4fcd7f2d3
2023-03-29 15:14:41 -07:00
Eric Rosas
f66738f4db asoc: codec: Update wcd939x-usbss mode
Update wcd939x-usbss mode on PA enable and disable.

Change-Id: I73a19ea73102ced5c8011a5a1567ebfa372b2e44
Signed-off-by: Eric Rosas <quic_erosas@quicinc.com>
2023-03-29 13:41:27 -07:00
qctecmdr
3038c0281b Merge "asoc: wsa884x: update uvlo registers for wsa884x" 2023-03-29 05:37:18 -07:00
qctecmdr
ed2fbe492d Merge "asoc: lpass-cdc : Enable wsa clks during DAPM powerup sequence" 2023-03-29 05:37:18 -07:00
qctecmdr
02975b1480 Merge "asoc: mbhc: change the logic of cross_conn checking" 2023-03-29 05:37:18 -07:00
qctecmdr
a5faf85270 Merge "asoc: get and update audio core list from device tree" 2023-03-29 05:37:18 -07:00
qctecmdr
f620388471 Merge "asoc: adc: check the interrupt status bit for hs_ins" 2023-03-29 05:37:18 -07:00
Phani Kumar Uppalapati
741f2dbb23 asoc: pineapple: return true when GND/MIC Swap switch happens
Return true when GND/MIC swap switch happens for EU plug
types.

Change-Id: Ie6d1d78a0bb179bc25aa80e46735db5a768812ba
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-03-28 22:48:11 -07:00
Yuhui Zhao
b9ca5f9eea asoc: mbhc: change the logic of cross_conn checking
Change the logic of cross_conn checking from or to and

Change-Id: Ic91ab177d6e6997dc0c5cb496c611a6cccd027e1
2023-03-28 17:55:50 +08:00
Prasad Kumpatla
c11ffbb93b asoc: adc: check the interrupt status bit for hs_ins
usbc USCI event gets called and removal is reported, where bit
0 of mbhc->intr_status i.e. (WCD_MBHC_ELEC_HS_INS) will be set to 0.
So in adc_hs_ins_irq() we can check if the WCD_MBHC_ELEC_HS_INS bit
is 0 or not, if 0 we just ignore the and return.

Change-Id: I5a7753a077f53c5cd26c8ad199899ff9c81ef7b8
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-03-28 14:47:04 +05:30
MingShu Pang
51ff3d008d asoc: get and update audio core list from device tree
Change-Id: I155576a4c136e5e0570dff0f2b598afbfc0ab872
Signed-off-by: MingShu Pang <quic_mpang@quicinc.com>
2023-03-28 10:44:25 +08:00
Phani Kumar Uppalapati
f4a5ac64cc asoc: wsa884x: update uvlo registers for wsa884x
update uvlo registers for wsa884x codec.

Change-Id: I225403378b2e2774fb069446fa2072eb27da0ee7
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-03-27 15:58:09 -07:00
Ganapathiraju Sarath Varma
70ea54b385 asoc: lpass-cdc : Enable wsa clks during DAPM powerup sequence
enable the wsa and wsa2 clk as per  sequence.

Change-Id: Ieefa4b6ea7aec535d940d780b0ed923483b4d3ee
Signed-off-by: Ganapathiraju Sarath Varma <quic_ganavarm@quicinc.com>
2023-03-27 11:49:47 -07:00
qctecmdr
79093cd45d Merge "asoc: wcd939x: use half rate selection for HPH DAC" 2023-03-21 10:01:36 -07:00
qctecmdr
de826740f9 Merge "asoc: msm_common: add counter to reset vote at the time of SSR" 2023-03-21 10:01:36 -07:00
qctecmdr
dcf234a8a6 Merge "asoc: wcd-mbhc: check mbhc pointer to null before access" 2023-03-21 10:01:36 -07:00
Phani Kumar Uppalapati
10371b0909 asoc: wcd-mbhc: check mbhc pointer to null before access
Check MBHC structure pointer to null before accessing.

Change-Id: I21230b524a702dc5880904160d80f9f19564fc3a
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-03-20 13:22:38 -07:00
Eric Rosas
de7502fc0c asoc: codec: Remove unused header import
Remove drivers/clk/qcom/common.h, which is an
internal header that is unused in audio-ext-clk-up.c.

Change-Id: I62dbdfd87c717ec60461a32505cba1b603c5e512
Signed-off-by: Eric Rosas <quic_erosas@quicinc.com>
2023-03-16 19:30:05 -07:00
Prasad Kumpatla
7769502c7d asoc: msm_common: add counter to reset vote at the time of SSR
When target enters into secure mode, HLOS receives an event to
place vote against sleep until writing of required registers
from TZ. Once the secure DMA registers write done, HLOS will
get a event to unvote against sleep.

Issue scenario: When device enter secure mode votes for sleep
against, before unvote event receives for TZ SSR is triggered.
When SSR triggers all votes are reset on ADSP. While recovering
from SSR, HLOS receives unvote event to HLOS, which will unvoting
of other use case vote and leading to NOC issue.

Solution: Maintain a counter for sleep against vote to
track the votes and unvotes. Also reset the sleep counter
if SSR is trigger as ADSP will reset all votes on SSR.

Change-Id: Ib1689d8f54408a9a80a12fb2697ba5c3d7087b9a
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
2023-03-15 02:34:43 -07:00
Phani Kumar Uppalapati
ce393052e3 asoc: wcd939x: use half rate selection for HPH DAC
Harmonium supports full and half rate modes for DAC.
Update DAC rate to swr clkdiv2 to achieve better
power performance.

Change-Id: I136a064dc258ee839ea78c9f1051ba34521ac871
Signed-off-by: Phani Kumar Uppalapati <quic_phaniu@quicinc.com>
2023-03-09 11:43:24 -08:00