Commit Graph
100 Commits
Author SHA1 Message Date
Laxminath Kasam b660be1d97 soc: soundwire: Update hw_ctl on HCLK at bootup
Propogate changes from (CR).
Merge qcom patch:
case number: 04629828

soc: soundwire: Update hw_ctl on HCLK at bootup

For soundwire version 1.6, HCLK remove HW controlled
at bootup before soundwire frame generation status check.

Change-Id: Idc2420d086261766ea4e79f69320f12c4d6b2259
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Reviewed-on: https://gerrit.mot.com/1592905
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Yunfei Guo <guoyf2@motorola.com>
Reviewed-by: Zhengming Yao <yaozm1@lenovo.com>
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1745677
Reviewed-by: Wen Xie <xiewen3@motorola.com>
2023-06-01 00:35:13 -03:00
Laxminath Kasam 081a88dd35 asoc: bolero: Add core_vote before gfmux access
GFMUX access happen during RX macro usecase.
Update rx macro to do core_vote before clock
request.

Change-Id: I1afd38ae13066dcfbda307308afce7c4291142d9
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2021-03-08 19:54:50 -08:00
Laxminath Kasam 411c3ff0a6 asoc: Update copy_to_user to requested buffer size
Avoid copy to user more than requested buffer size
to avoid memory corruption.

Change-Id: Ibf1607f777a358ebd16fd8b8728809afda34eba7
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2021-01-29 21:43:32 -08:00
Laxminath Kasam 0039ff6c78 asoc: msm_sdw: Handle locking for mclk enable flag
To synchronize codec read/write with PDR/SSR, take
lock before update of mclk enable flag.

Change-Id: I3e4faa27e2e6af71fd767a6be43bbb9d234c7192
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-11-23 21:56:14 -08:00
Laxminath Kasam 39b6414cd3 asoc: bolero: control wakeup of swr_tx during clock setup
Move the enable and disable of wakeup capability of
swr_tx gpios to clock setup to disable or enable it
in all required usecases.

Change-Id: I9fb76926d8520c382e7f19777190357c50f98994
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-11-02 10:56:07 +05:30
Laxminath Kasam 32134e17dd soc: swr-mstr: Update soundwire state to SSR during UP
During SSR up event handler, if soundwire state is
already up or auto suspend jiffies is not completed,
ensure put in suspend/SSR state.

Change-Id: I853f42d125eb5a60e3f1f065a60516877e3a463c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-10-28 16:58:07 +05:30
Laxminath Kasam c960f3d811 asoc: msm-pcm-q6-v2: Update memset for period size
tinycap test can attempt with different size to
read from driver and need to avoid access more
than period size.

Change-Id: Ifa4ddfb086bd83aa981da62e88da3a9395f5aabc
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-10-27 00:47:29 -07:00
Laxminath Kasam 467177306b asoc: va-macro: Allow swr switch at powerup/shutdown
Ensure soundwire clock re-setup always for SWR AMIC usecase
startup and at end of usecase.

Change-Id: Ie0e94a456c8e5e529a2a7435ded094483e369f01
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-10-16 03:29:58 -07:00
Laxminath Kasam 1e7a9df19f asoc: va-macro: Update widget order for VA_MCLK and VA_SWR_PWR
Update widget order for widgets VA_MCLK and VA_SWR_PWR.
As both are having widget supply priority -1, sometimes
dapm is triggering both widget callbacks simultaneously
causing race condition in handling the SWR clock release
with proper request for VA_CLK instead of TX_CLK and
next usecase powerup is impacted.

Change-Id: I3d3a3fadcdb897287ad070dc9e81e354c6f970b0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-09-28 01:05:54 -07:00
Laxminath Kasam d123e76ff3 dsp: q6core: Check q6core avs state to be modules ready
During PDR, in dynamic load module if attempted
before all module state ready on AVS it may fail.
Add AVS state check before send load module cmd.

Change-Id: I70a5a5b11f5661042d704222759608179ba9d47c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-09-23 23:13:27 -07:00
Laxminath Kasam 0417036328 asoc: wcd938x: Add WCD ADC Mode mask to control modes
To set correct swr clk rate in concurrency,
use WCD ADC modes as status mask bit to confirm
ADC paths active and control set clock rate.

Change-Id: Id3401d6ed59bd617e0751e7c704268346b36dac4
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-07-28 05:25:11 -07:00
Laxminath Kasam 51af4b3c2a soc: wsa883x: Update changes for wsa8830
Update DRE_CTL offset to 3 for wsa8830 variant.

Change-Id: I9acab01b0099093b8e427d52e48ba9744c6f5aac
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-07-27 01:13:46 -07:00
Laxminath Kasam 5e3924dbf0 asoc: Reset the buffer if size is partial or zero
Sometimes during device switch in recording,
observe size 0 is return from DSP due to EOS
handling. For ALSA pcm_read to unblock, buffer
appl_ptr is elapsed without actually updating
the buffer. And userspace copies the stale
data(old buffer) causing issue sometimes.
Reset the buffer for that period_size in
such cases instead of transfer stale data.

Change-Id: I0d3ac133a8d95fad0710586e3e947410a41c9c5a
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-07-20 22:53:28 -07:00
Laxminath Kasam f813d50dc4 asoc: wsa881x: Disable WSA ADC register when teardown
To ensure mono/stereo speaker usecases with speaker
protection enabled switch properly and apply register
during powerup, update disable sequence of ADC register.

CRs-Fixed: 2705914
Change-Id: If9ceb4436ed6ce236a4e529d65b0acc8f9f6cd0e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-07-10 06:05:01 -07:00
Laxminath Kasam 82861cad6b asoc: wsa883x: Update the PDM_WD at startup/teardown
Update PDM_WD bit only at startup and teardown of
speaker playback.

Change-Id: If385c0f4d99b7f5aa4ccd8b1ee94c4afa6754518
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-07-10 06:00:18 -07:00
Laxminath Kasam 251ce993dd asoc: bolero: Ensure va-macro is registered before other macros
As va-macro has fs_clk gen, ensure va-macro
is registered before other macros.

Change-Id: I8283dc11817caf0c208fe231132951a7a79b7d51
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-07-08 19:46:47 +05:30
Laxminath Kasam 2ffc69ed68 Revert "soc: mstr-ctrl: Retain Audio_HM voting until suspend"
This reverts commits ea6cbeeb1a
and b06236e637.

Change-Id: I0b8b44bc5cca6bef6bc18c228f08a9c585c79c1c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-06-30 09:50:08 -07:00
Laxminath Kasam be581c2cec asoc: wsa883x: Fix speaker noise issue
Soundwire port is misconfigured and causing
noise issue randomly. Ensure reset and powerup
WSA speaker amp for every usecase.

Change-Id: I857ff2939900ab60ec7208554e340d7d2c693fa9
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-06-16 03:06:32 -07:00
Laxminath Kasam 3695642785 Soc: soundwire: Update hw_ctl on HCLK at bootup
For soundwire version 1.6, HCLK remove HW controlled
at bootup before soundwire frame generation status check.

Change-Id: Idc2420d086261766ea4e79f69320f12c4d6b2259
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-06-03 15:42:30 -07:00
Laxminath Kasam 2fe71f51d4 soc: wsa: Fix adie loopback test
In ADIE loopback, need PA enable to
avoid mute. Ensure PA enable post slave
path setup and FS clock.

Change-Id: I4df9d7b919325b50f237f31338859e1b5b34b2eb
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-31 23:00:48 -07:00
Laxminath Kasam 29bb821fb5 asoc: codecs: Update LPM voting support in codec supplies
For power saving during RBSC, need to vote for minimum
or zero current on load for respective regulator to
enter LPM mode. Add required support from audio WCD/WSA
to vote accordingly during suspend/resume.

Change-Id: I578195b84ba18a0b69dde3b93a3f6461efa85f7f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-22 02:16:03 -07:00
Laxminath Kasam 01d2eb25fb asoc: wsa-macro: Fix mixing path on WSA
Standalone mixing path on WSA is mute.
Enable soundwire path is not happening,
add respective call in mixing path widget
callback to setup soundwire and WSA.

Change-Id: Ia8df0fdcc4a022e4b86c11283dd3606412a2fb69
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-22 02:13:07 -07:00
Laxminath Kasam ea6cbeeb1a soc: mstr-ctrl: Retain Audio_HM voting until suspend
Restore change to retain audio_hm voting and
ensure AOP hang issue not seen by masking interrupt
wakeup of swr pinctrl pins.

Change-Id: I51bf36d6d6b0999abf10a4bc94cce900d1adf1d5
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-17 22:58:21 -07:00
Laxminath Kasam b06236e637 asoc: bolero: Register for AFE event for all SVA usecases
For island SVA usecase, ensure register for
AFE in-band interrupt.

Change-Id: I24e6dfadfaa38919114000fb09a7906264020cd9
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-10 22:39:09 -07:00
Laxminath Kasam 80c1005aa1 asoc: wsa883x: Update init values of VAGC
Update current limit and VAGC settings to
limit the current drawn at chipset causing
target reset.

Change-Id: I8cc1c91d45f1e27c236c00b5b0f851502f69d82c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-10 22:37:47 -07:00
Laxminath Kasam 007d252f50 asoc: wsa-macro: Update VI sense setting based on pcm rate
Retrieve sample rate for VI sense and update codec settings
based on it.

Change-Id: If4341bac77ecae290c44c4412a39b9e5cbf46ac0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-04 21:00:38 -07:00
Laxminath Kasam 80581c4b4f asoc: bolero: Update rx dc droop register setting
For RX DC droop setting, ensure update proper
value during powerup/powerdown based on
sample rate.

Change-Id: I269d41452911e1999b2dbdf4fa22e383aa973848
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-04 20:59:39 -07:00
Laxminath Kasam b0818d0770 asoc: codecs: Set EAR compander if mixer ctl set
Enable compander based on mixer ctl set for ear path.

Change-Id: Ie6287469f1baa9dba239d369bd5a29ed8e44522f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-21 20:55:56 -07:00
Laxminath Kasam db84397ed4 audio-kernel: Fix compile with CONFIG_DEBUG_FS removed
Add fix for compilation failure after remove
CONFIG_DEBUG_FS.

Change-Id: I94f851916e1c397848aa5d107774f7480a74270f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-21 22:56:28 +05:30
Laxminath Kasam 9eac251984 asoc: wsa883x: Fix SSR mute on speaker
During SSR/PDR, bring down wsa at down
event and restore after SSR up event.

Change-Id: I9a8d3c109144cb0a911cd7597bffc220b0ce95b7
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-01 20:58:57 +05:30
Laxminath Kasam d76953687b SoC: wsa883x: Remove from soundwire group during teardown
After playback on speaker, remove from soundwire group to
properly close the soundwire port configuration.

Change-Id: I278e7510869200bc1236eb45968bc8d986a93a96
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-01 20:58:40 +05:30
Laxminath Kasam 700983517f asoc: wcd938x: Add vdd-buck as on demand supply
On lagoon, vdd-buck need to be dynamic supply.
Add required support to handle buck as dynamic supply.

Change-Id: If6c27fffe0d0c44f178e61a6eae6ef63775c8988
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-01 03:02:48 -07:00
Laxminath Kasam 99690f1452 asoc: kona: call wsa set channel map for wsa883x
Update speaker amp call for wsa883x.

Change-Id: I3ab9be48e169f15ef6fdda7ee61f34b35d333e05
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-01 02:46:06 -07:00
Laxminath Kasam d08ab1fd6b asoc: Add null check for kctl private_data in volume controls
In platform driver volume controls, add null check
for kctl private data before access.

CRs-Fixed: 2611397
Change-Id: I49bdac2bb780a7116e54c20bf5f0d01f13a53165
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-01 02:40:18 -07:00
Laxminath Kasam 386699bca8 asoc: wcd937x: Update retry logic for SWR logical addr
Update retry logic for SWR logical address during SSR.

Change-Id: Ifa5cdec751a271c09a8b6340009ec0e862ffb326
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-01 02:04:15 -07:00
Laxminath Kasam 7ad7274bb0 asoc: bolero: Avoid reg access if audio hw vote fails
Check audio hw vote before register access.

Change-Id: I2753f6abd912910285f586bf95c71e3c99dfe60a
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-03-15 03:35:48 -07:00
Laxminath Kasam cb923683a8 asoc: wsa881x-analog: Update boost preset based on 8810/15
Update boost level setting of value 5.5v and 6v
for 8815 and 8810 variants.

Change-Id: I6e71c58bddb4958f1eda4ab4d4630bcb6073dcdb
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-03-01 21:07:39 -08:00
Laxminath Kasam 3f7a0730a7 asoc: bolero: Fix AMIC TX pop on bolero 2.1
For bolero 2.1, amic can connect on any SWR input.
Update API to check amic usecase.

Change-Id: Iced7df39b0dbaf83e77a72536e55223d3bda2289
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-03-02 10:36:49 +05:30
Laxminath Kasam 5489dbde93 asoc: bolero: Update fs_clk gen for va macro
Enable and disable FS_CLK gen at every
mclk enable and disable call to handle
fs_clk gen count.

Change-Id: I87e1cf112a48029cf0d6e7227fcc5167e973fdad
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-02-25 10:07:56 -08:00
Laxminath Kasam f2b783618d asoc: bolero: Update dmic clk_div for bolero 2.x
For bolero 2.x, update dmic clk_div to use 1.2M
instead of 600k if non-island usecase.

Change-Id: Ia057283c164de576cfd05f4c64f6db24db589ead
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-02-16 23:01:30 -08:00
Laxminath Kasam 0bb3a1552e asoc: wsa881x-analog: Disable MCLK if clk enabled state
In WSA analog driver, disable MCLK only if clock enabled.

Change-Id: I3a6aa42dc258e3c6ad1ceccdf74f0136338d79b2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-02-07 06:17:43 -08:00
Laxminath Kasam 60720686b3 bolero: va-macro: add dmic va rate to 1.2M for bolero 2.1
In bolero 2.1, VA macro has low power decimations
and support 600k only at 8k/16k. For non-LPI sessions
running at 48k will have mute data if use 600k.
Update driver to use 1.2M for non-LPI sessions.

Change-Id: If495ba8fb780bd22f188835ef87a0ec947df363c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-02-07 04:52:48 -08:00
Laxminath Kasam f08f2ac21b asoc: codecs: Update va_macro fix for SVA for bolero 2.1
For bolero 2.1 with SWR_TX in va macro, update SVA fixes.

Change-Id: I250df0fe476bc2c0439ab491a17dea2e7ac18707
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-01-21 03:18:25 -08:00
Laxminath Kasam 37a8906f59 asoc: bengal: Fail SVA for fuse variant
For fuse variant with SVA=0, ensure startup fails
to make SVA app close with failure.

Change-Id: Id35b04bae3b96fa1aaf36b75e835922a025388e9
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-01-08 11:02:44 +05:30
Laxminath Kasam ec8c909521 soc: swr-ctrl: increase num retry count for soundwire link status
Increase retry count to check soundwire link status at bootup
inorder for probe to succeed. Handle error scenario if 
soundwire probe fails to cleanup device properly.

Change-Id: I4a545530e68221a1f428e05aff3d8a93b1dacf84
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-17 16:52:53 +05:30
Laxminath Kasam 793902c22a asoc: bolero: Update mask of wsa macro
Update mask of wsa macro to apply sample rate
as per config send during hw_params at powerup.

Change-Id: Icf9b40fecf655c06cc60d56ac31808e886f8a49d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-17 01:06:07 -08:00
Laxminath Kasam 8d37df9265 asoc: bengal: Avoid island config to afe for sva disable variant
Check SVA disable variant and skip send afe island config.

Change-Id: Ida6c32ec042f545291aaeb8e616478b991d923bd
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-13 14:03:23 +05:30
Laxminath Kasam f504f7e2aa soc: soundwire: Fix type of swr addr to support 32bit arch
for 32bit arch based builds, soundwire logical address
fails when compare with dtsi value (64bit). Update addr
type of soundwire slave addr to u64.

Change-Id: Ifda388ca66350a2bc898484cddecbbcab4d3ece4
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-06 19:42:34 +05:30
Laxminath Kasam ef20c8c2d5 asoc: wcd937x: Avoid clk disable at aux dac
Clock disable at aux dac event is not needed
as rx3 widget already disables it.

Change-Id: I67feec194cdae5c6d84efcde0a2931ba8f8440dd
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-06 14:48:29 +05:30
Laxminath Kasam 696b14bfa2 asoc: Audio bringup changes for bengal
Audio bringup fixes for bengal target.

Change-Id: Ic79c478fe3c6b80eeb48aa2bcf1887c8dd8f5edc
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-04 15:07:29 +05:30
Laxminath Kasam e1a5f97352 asoc: routing: Fix CDC_DMA_RX_1 routing to SLIM_8_TX for loopback
For loopback of CDC_DMA_RX_1 port to slim_8_tx,
add proper switch control.

Change-Id: I58353c8cc43ac96d39a810b8e471458111f57319
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-12-03 00:58:09 +05:30
Laxminath Kasam 4696fffa8c asoc: Audio bringup changes for bengal
Update change for audio playback and record to work
on bengal target with wcd937x codec.

Change-Id: I2f781e2132b018995f30f4192efd08732196cd28
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-27 17:32:41 +05:30
Laxminath Kasam affb8790c5 asoc: codecs: Enable interrupt mask at bootup
Update chip wakeup enable mask at bootup for
headset detection on bengal.

Change-Id: Ic16bbb4dccf1a84140696ac47b340c407f5b41d5
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-26 16:04:17 +05:30
Laxminath Kasam c6974d0dad asoc: bengal: Update comments with proper PCM ID info
Update PCM ID with correct values in comments.

Change-Id: Ie456481aa57f0adebb20921d8d0f0d25c7b714e0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-22 15:21:08 +05:30
Laxminath Kasam cafe073cf1 soc: soundwire: Update check link status for master init
After master init sets COMP_CFG, wait for soundwire link
status to be connected for SWR version 1.6. Update wait
for soundwire link disconnect for all masters.

Change-Id: I0c0b34f225f88f1b3838b0aa653b57b2c7c0cc40
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-21 12:09:17 +05:30
Laxminath Kasam 9a37b81cd4 asoc: wcd938x: Fix swr get logical addr fail during SSR
During SSR, sometimes swr get logical addr fails.
Add sufficient delay after reset and retry logic
for get logical addr.

Change-Id: I2a932e99896e0055f3b35f9b251008612f43b79f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-20 19:18:50 +05:30
Laxminath Kasam 44cedb8f7d soc: soundwire: Set slave host_irq interrupt mask for all slaves
On receive of change enum slave status interrupt, update
slave host_irq bit for all attached slave dev_nums.

Change-Id: Idaad7a73a7ba9ab271f3fb6974f8d09df3f957b8
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-20 17:37:23 +05:30
Laxminath Kasam 09819e980c soc: soundwire: Update comp status check for SWR version 1.6
Check comp status based on active and inactive request
and return once status met.

Change-Id: I75669558875d8ab6fc23a02c888e6083e15aee08
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-18 14:40:44 +05:30
Laxminath Kasam fbd95edd79 asoc: bolero: Add va/tx macro registers for bolero 2.1
Update VA/TX macro registers for bolero 2.1

Change-Id: I6be9632407c85a36bc746c65b34a52812548ad2a
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-12 12:32:37 +05:30
Laxminath Kasam e229197566 soc: soundwire: Handle command response sequence
In soundwire version 1.6 as AHB HCLK and MCLK
are decoupled, need to wait for clock stop
entry and exit scenarios to execute before
any further transactions. Keep monitor on
COMP status accordingly.

Change-Id: I03204526d7dd634a79193b55c6744edca8664d93
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-11-08 14:53:28 +05:30
Laxminath Kasam e1dc0d7901 asoc: bengal: Use dtsi property for VA, RX-TX macros dailinks
Append dailinks for VA and RX-TX macros based on dtsi property.

Change-Id: Ib1f4520cd569546e5954d9295b8455f89a3212ca
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-06 17:55:07 +05:30
Laxminath Kasam 0f73819a4d asoc: codecs: Update default value for chip wakeup regs
For chip wakeup registers used as interrupt mask, set
default value provided via dtsi.

Change-Id: Ie080006cb7a92e8745636c97a67b8e09ab977832
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-06 13:00:46 +05:30
Laxminath Kasam 5b1458d315 asoc: codecs: fix compile error for bengal_32
For bengal_32 local compile fails. Update
the condition check in make to avoid compile
of wsa and hdmi modules for bengal, bengal_32.

Change-Id: I90db0a36b4c435874137d312545e3757f335fa78
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-05 05:06:39 -08:00
Laxminath Kasam 2336053268 asoc: codecs: wcd937x: Update micbias pull up widgets
Add micbias pullup widgets required for VA usecase.

Change-Id: I3f2d0ce3d409297fb5e2bf0468258aaee9365293
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-05 17:22:07 +05:30
Laxminath Kasam b03e82deda asoc: bolero: Update tx swr clk widget for bolero 2.0
TX_SWR_CLK widget is not needed for bolero 2.1.
Update it to retain for bolero 2.0.

Change-Id: I2b38fb807460ca31d1e968e0eb69a24ce46a531e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-05 14:56:08 +05:30
Laxminath Kasam 688db8aa06 dsp: q6afe: Update lpass hw votes to maintain separate handles
lpass client handle variable stores latest lpass hw vote.
During PDR, core hw vote release proceed to call unvote
for stale handle since above variable is set to non-zero
as part of audio hm vote. Maintain separate handles for
respective lpass hw votes inorder to fix this.

Change-Id: I432ce38b253ce6d18a25f9845fa694912718c74f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-05 13:15:45 +05:30
Laxminath Kasam d6b629414c asoc: wsa881x: Update break after post_fs event
Update missing break after post_fs event handling.

Change-Id: I50894d21445c501366298e8ee8f1f66b854ac44f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-05 12:39:44 +05:30
Laxminath Kasam dcf2ab2380 asoc: routing: Add route controls for RX_CDC_DMA_RX_1
Add controls required for RX_CDC_DMA_RX_1 used for
AUX speaker path in bengal target.

Change-Id: Ia7ec59b19960e3c3f3a844406671303f72787bc1
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-01 15:33:47 +05:30
Laxminath Kasam 1a58793f4a asoc: codecs: CSR access requires AHB clock from bolero 1.1
From bolero 1.1, Bolero and SWR CSR moving to AHB clock
and no need to enable other macro RCG clocks.

Change-Id: I6663196a88dbf07868d6426bdda98f33e42004d1
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-11-01 13:02:12 +05:30
Laxminath Kasam 2e13d64340 asoc: bolero: Update SWR TX moved to AO region
In bengal target, SWR TX moved to AO region.
Update SWR TX as child of VA macro and handle
respective SWR register/clock sequences from
VA macro.

Change-Id: I6b632ce56a885f2ccc8516840b0e5d270fe0b2c0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-22 15:29:58 +05:30
Laxminath Kasam 4651dcbbb0 asoc: codecs: Update VA/TX controls based on bolero version
Update route map, dapm widgets, snd controls for VA and
TX macros based on bolero version.

Change-Id: I6f517f2c243624d44601192295c50838c7ee0e05
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-22 15:21:25 +05:30
Laxminath Kasam f1623021b1 asoc: bolero: Update version query for bolero 2.1
Expose API from bolero driver to retrieve version
info by macro drivers. Update bolero driver to
get version from dtsi.

Change-Id: Idc3735721de90ee4f74319537b17a530d3c125a6
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-22 15:20:01 +05:30
Laxminath Kasam 2b85d8e050 asoc: wsa881x-analog: Defer wsa probe until mclk node available
Update wsa analog driver to defer probe until mclk node
is available.

Change-Id: I8c1e9dc8fe014ebd9845cf8e9fc759106bd3ffff
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-16 11:18:49 +05:30
Laxminath Kasam 3d89d5356b asoc: codecs: Add wakeup register update for chip register
Update cdc-pinctrl driver to handle wakeup control
provided in any spare chip register.

Change-Id: Iaa413d4b78e0c9841e40d01d0b891da34ff79de2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-13 00:24:19 +05:30
Laxminath Kasam 00f60bae1e bengal: enable compile of required modules
Update compile of required modules for bengal target.

Change-Id: If4d512b7270cc811a05524caac5292234a0ac437
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-12 23:40:48 +05:30
Laxminath Kasam 57e66c0251 asoc: wcd937x: Fix compile error in wcd937x codec driver
Update codec to component param for 4.19 kernel compatible.

Change-Id: Ia08283de4b01b45a6cd96c7f488f55bb0d4a5a53
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-12 23:31:17 +05:30
Laxminath Kasam c7bfab9706 soc: soundwire: Update hctl gate setting for SWR version 1.6
In soundwire version 1.6, hw_ctl gating is required to address
HW limitation as SW workaround to get SWR functionality working.

Change-Id: Ia0939b1271f5400319217433de658a55a05ca404
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-09 22:38:45 +05:30
Laxminath Kasam 9e78ef8743 asoc: codecs: restore wsa analog driver files
Add support back for wsa analog codec driver files.

Change-Id: I7ef6ad050b068ec8c0f0275089d670c92234686d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-09 14:57:18 +05:30
Laxminath Kasam ae52c99252 asoc: bengal: Add new machine driver for bengal target
Add support for new machine driver for bengal target.

Change-Id: Iffb189136e0ec0ae42d375d112227d4237e4b502
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-09 14:27:00 +05:30
Laxminath Kasam 4ccd4b4e74 soc: pinctrl-lpi: Add support for audio HM voting for bengal
On bengal target, audio core voting is not applicable.
Add support for audio HM voting in pinctrl-lpi driver.

Change-Id: I8661c981896c14899ca4d85f77507b417700b987
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-04 16:14:52 +05:30
Laxminath Kasam e0eca370e8 asoc: add routing for RX_CDC_DMA_RX_1 to connect for hostless FE
Add routing connection for RX_CDC_DMA_RX_1 backend
to frontend CDC_DMA hostless for supporting FM on speaker over AUX.

Change-Id: I14e4344fb6cc943ced4402d323ff6e04448806c4
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-10-03 19:34:45 +05:30
Laxminath Kasam e6c06ae348 asoc: codecs: wcd937x: restore clear_ack setting for wcd937x
For wcd937x interrupts, need to set clear_ack explicitly
for regmap irq to clear the interrupt.

Change-Id: Ieffc20db0665fa82fe088337fbdf8b518191be3d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-26 15:05:08 +05:30
Laxminath Kasam e25b02a5e1 asoc: codecs: wcd938x: Fix HPHL mute when ear path teardown
Update mute for RX chain related to AUX (INT2) when
tearing down ear path driven by AUX.

Change-Id: I0ab2630bb681e8dc800c99245b1cd68120290c2b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-19 18:43:59 +05:30
Laxminath Kasam ade1444dd5 asoc: codecs: Add HPH and EAR concurrency state in class-h driver
Update the class-h driver state machine to allow HPH and EAR concurrency.

Change-Id: I5e227bdc87929b61fef78956f3a4eba4a686873e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-19 18:39:21 +05:30
Laxminath Kasam 069df14aa0 asoc: codecs: Fix pop issue on WSA cold start
Observe pop if FS clock is turned on at end of
powerup sequence. Ensure WSA PA is turned on
after FS clock to avoid pop.

Change-Id: Ic1214d361e77db252b7a90a89fc99c69f51e270b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-19 11:37:00 +05:30
Laxminath Kasam 2f151367ce asoc: codecs: wcd937x: Fix compile error
Use proper dev handle in print to avoid compile error.

Change-Id: Ieca116199ec4c86f2ee8c1698285fff0ecababbf
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-16 17:57:03 +05:30
Laxminath Kasam c39ed80b7c asoc: cdc-pinctrl: Update to disable MPM wakeup for multiple gpios
Under same pinctrl node, there are multiple gpios that
require MPM wakeup to be disabled. Update driver logic
to support disable of multiple gpios under same node.

Change-Id: I3a07e5d7621da4cd03b46d96ca5cec18958f1ebd
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-16 13:09:03 +05:30
Laxminath Kasam 168173ee6d asoc: kona: Update LPI GPIO wakeup disable for all DMICs
Disable wakeup capability for all DMIC GPIOs.

Change-Id: I7c8c5f653e565b8f8b6f40005051aab3f27ccc76
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-16 13:01:28 +05:30
Laxminath Kasam f8adb5f3c3 asoc: codecs: bolero: Update mixing path and channel mask for RX path
RX_CDC_DMA_RX0/1/2/3 ports  drives RX0/RX1, RX2/RX3, RX4 and RX5
channels on bolero rx-macro. Update channel mask
as per these mapping and return to channel map
accordingly.

Change-Id: I2e66e601b5137ebc513527827332bbb7cde0acb3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-09 10:47:49 +05:30
Laxminath Kasam 8ebb07308a asoc: codecs: wcd938x: Enable EAR over INT2 chain
INT2 chain drives AUX output to WCD.
EAR DAC on WCD can take input from HPHL/AUX chains.
Add register sequence updates to support EAR DAC
over AUX chain path also based on mixer setting.

Change-Id: I71db6c02f4579e3beba2816c1cfa5a492d91d702
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-09-06 14:59:46 +05:30
Laxminath Kasam 52ae6581d7 asoc: codecs: bolero: Fix L/R swap issue on bolero RX
Left and right channel content can get swapped
in new cdc_dma interface.

DMA interfaces underrun results in Channels being swapped.

This issue is a side effect current SW setup for RX path:
  1.  HLOS Setup WCD Analog Path, Bolero CODEC.
      CODEC would drive Fs to LPASS DMAs requesting for PCM samples.
  2.  DSP setup RX Buffers in Memory :
  3.  DSP Configures RD DMAs and DMA RXTX CODEC interface
      (Enable CODEC DMA interface buffer and
       Enable DMA LPASS_RXTX_LPAIF_RDDMA_CTL0.ENABLE
       and LPASS_RXTX_LPAIF_RDDMA_CODEC_INTF0.ENABLE
    If CODEC Fs, aligns with DMA interface being enabled
    there is an underrun as DMA interface pingpong buffer is empty.
    This results in channels being swapped.

Proposed work around while keeping current SW setup order.
Provide a workaround to Keep Fs disabled  until DMAs and
CODEC DMA interface are enabled and HW could  prefetch all buffers.
SW would keep existing setup order:
  1.  HLOS Setup WCD Analog Path, Bolero CODEC.
      CODEC would drive Fs to LPASS DMAs requesting for PCM samples.
  2.  DSP setup RX Buffers in Memory :
  3.  DSP Configures DMAs and DMA CODEC interface
      (Enable CODEC DMA interface buffer and
       Enable DMA LPASS_RXTX_LPAIF_RDDMA_CTL0.ENABLE
       and LPASS_RXTX_LPAIF_RDDMA_CODEC_INTF0.ENABLE)
  4.  Enable Fs Set #LPASS_RX_CDC_RX0_RX_PATH_CTL. CLK_EN to ONE

Change-Id: I7916667f5d857464cc7d77b51da307ab234cc7bb
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-08-28 19:08:02 +05:30
Laxminath Kasam 6b01d100ee asoc: codecs: bolero: audio HM voting only supported on bengal
On bengal target, audio HM voting is only applicable.
Update bolero driver to make audio HM vote if audio core handle
is not present.

Change-Id: I9abaf42c04aa8f1b89d9c08e628ab142ce99151a
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-08-27 15:14:25 +05:30
Laxminath Kasam 5d8f357649 asoc: codecs: wcd937x: Update amic4 over adc3 recording
Update AMIC4 over adc3 for wcd9375 as per HW sequences.

Change-Id: Ie7c3713bee67d32cb7fba042848f52bcded8f4b0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-08-19 14:08:57 +05:30
Laxminath Kasam fdda2d8146 audio-kernel: Update Kbuild support for bengal
Update config file to pick for bengal in Kbuild files.

Change-Id: Ic86e22204bbc16ca751eceb0391e38b4a60ac8b5
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-07-31 21:26:30 +05:30
Laxminath Kasam db79e5fabc asoc: kona: Add digital mic7/8 support on WCD938x
WCD938x supports upto 8 DMICs over soundwire.
Update entries for digital mic7/8 in widgets table.

Change-Id: If791d88b1145e798de46b9409a48210da8499ad1
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-07-18 13:47:57 +05:30
Laxminath Kasam d3f16750c4 asoc: codecs: Update dmic2 support on WCD938x
As DMIC2 is muxed on same channel with MBHC
on soundwire port3 of WCD938x codec, need to set
selection bit for DMIC2 during recording usecase
over it.

Change-Id: Ice9b92eb964af25e47db4b3d8d25db07a82a9bf2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-07-18 13:47:45 +05:30
Laxminath Kasam 549d11d4fe asoc: codecs: Update on support for WCD938x DMICs
WCD938x codec can support upto 8 DMICs.
Fix driver to enable support for these DMICs
over soundwire.

Change-Id: I82b9c7c6f56271c03acee3a966dbaa4fefb62102
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-07-18 13:44:17 +05:30
Laxminath Kasam 5478daae29 dsp: sleep before sending q6core ready query
After PDR, audio avs services still are initializing state.
Avoid sending q6core command after PD up event immediately,
wait for sometime before sending the q6core ready command.

Change-Id: Ibee38db9ee1a30b7852da3d08cac7b0d06371733
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-07-09 03:58:11 -07:00
Laxminath Kasam e13704c699 soc: Handle system suspend for LPI pinctrl
System suspend is not handled in lpi pinctrl driver.
Register to system ops to release lpass hw vote
before apps suspend.

CRs-Fixed: 2439988
Change-Id: I334a993ead5d2abec5286fb5812d67b795d03f3c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-06-16 17:37:56 -07:00
Laxminath Kasam 85af5caae6 asoc: sm6150: Fix to apply wsa8810 gain settings
In trinket, wsa8810 variant show higher current.
As wsa8815 settings applied for wsa8810 variant
causing the issue. Update wsa aux codec matching logic
in machine driver to apply proper gain settings
for wsa8810 variant.

CRs-Fixed: 2406074
Change-Id: I5916ae7ea8e91aad4e0be6486502f5fcd8a96ff3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-04-16 13:23:59 +08:00