Commit Graph

95 Commits

Author SHA1 Message Date
Sudheer Papothi
e3842cf831 ASoC: Add audio support for sdmshrike
Add audio support for sdmshrike.

Change-Id: I0b86ab7b123a3215617b81a645202785f6810d02
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-04-11 10:53:22 -07:00
Linux Build Service Account
257abe3e99 Merge "asoc: codecs: set boost state to MAX_STATE_2 for WSA8815" 2018-03-21 10:17:17 -07:00
Linux Build Service Account
ed523bc624 Merge "asoc: wcd934x: update register default values before post SSR" 2018-03-21 01:40:57 -07:00
Linux Build Service Account
3cf90f9a08 Merge "asoc: codecs: add null pointer check for swr control data" 2018-03-21 01:40:55 -07:00
Linux Build Service Account
c0f79e7211 Merge "ASoC: wcd9360-dsp-cntl: Limit array size of val" 2018-03-21 01:40:51 -07:00
Xiaojun Sang
09cd2ac5e9 asoc: codecs: set boost state to MAX_STATE_2 for WSA8815
WSA8815 requires default boost state of MAX_STATE_2, when
speaker protection feature is disabled. Set boost state to
MAX_STATE_2 in all cases for WSA8815.

Change-Id: Ic700d9a206e94a4cdd1d99f8547bed9df1e759e8
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-03-21 10:36:31 +08:00
Karthikeyan Mani
24afb6e390 asoc: codecs: add null pointer check for swr control data
Null check is needed before accessing swr control data
to ensure proper error handling in case speaker path
is issued when swr is not enabled.

Change-Id: I5037a912652189b3ae58f1119d0534777a9c264a
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-03-16 14:46:33 -07:00
Meng Wang
bb4029020d asoc: wcd934x: update register default values before post SSR
Update register default values before post SSR to avoid codec nack issue.

Change-Id: Ibf1e3275d27c4b65ab179b9ddc5a51621c89eab7
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2018-03-08 20:34:24 -08:00
Xiaoyu Ye
3bda9b1de1 asoc: wcd934x: optimize ANC enablement logic for Tavil codec
In Tavil driver, both ANC0 and ANC1 channel registers are written when
each ANC channel is enabled. This logic results in high latency during
ANC enablement on Tavil codec. Optimize this logic by only writing the
corresponding channel registers when enabling ANC0 or ANC1.

Change-Id: I62e8572967e6ca6c851cbaaad5f1b8c19e5b1a5f
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2018-03-07 17:25:34 -08:00
Sudheer Papothi
ca7ca2c804 ASOC: wcd934x: Fix finding of correct AMIC
During Tx path enablement, amic information is needed for proper
power level settings and for better performance. Existing API returns
incorrect amic information. Changes provide the correct amic information.

Change-Id: I18f3f35212cae47e5d944c2e075f03889147722b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-03-05 13:24:15 -08:00
Linux Build Service Account
e542fb699a Merge "ASoC: config: Enable configuration for WCD934x codec" 2018-03-05 00:58:01 -08:00
Linux Build Service Account
3968f84b45 Merge "ASoC: wcd934x: Update OCP before HPH PA enable/disable" 2018-03-02 23:16:33 -08:00
Linux Build Service Account
43667ec287 Merge "asoc: codecs: update IIR cofficient values before IIR band enable" 2018-03-02 23:16:27 -08:00
Sudheer Papothi
cc0a22d9d1 ASoC: wcd934x: Add support for WCD934x on msmnile target
Add support for WCD934x codec on msmnile target for audio
playback and capture usecases.

Change-Id: Ia91fd532fcb3a127941f8dc7ba42aecea17a5ec2
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-03-02 11:38:29 -08:00
Laxminath Kasam
3a4607028c ASoC: wcd934x: Update OCP before HPH PA enable/disable
Observe mute issue when PDR triggered while music playback
on HPH. As per HW recommendation, ensure OCP is turned off
before PA enable/disable. During PA enablement, turn off OCP
to avoid false OCP interrupts.

CRs-Fixed: 2167007
Change-Id: I0dc2cc6ded3416b635d14dc3b7aafa7997fe9a4d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-02-28 21:52:12 -08:00
Vidyakumar Athota
9147e38e71 asoc: codecs: update IIR cofficient values before IIR band enable
Currently IIR coefficient values are written to HW everytime when
digital core comes out of power collapse. This increases playback
cold start latency. So update IIR coefficient values before IIR
band enable.

Change-Id: I57ad54b4674ed0a49fdfc55d77c519568f5a7893
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2018-02-28 21:48:57 -08:00
Karthikeyan Mani
f164580248 asoc: codecs: Fix tavil i2s max rate and cleanup
Change i2s max rate supported for tavil to 384000Hz.
Cleanup usage of intf_type to optimize differentiation
between slim and i2s.

Change-Id: If6451dae7c61e8f61be3d5a13549f98b382e5054
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-02-28 18:50:09 -08:00
Karthikeyan Mani
98d3d590bb asoc: codecs: enable i2s mode for tavil
Add support for tavil i2c access. Add audio
routings dapm widgets for data and control.

Change-Id: I96ebf7a5700b10f294f4fadfeeb21dab490a9313
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-02-28 18:49:19 -08:00
Vaishnavi Kommaraju
7aeddaf315 ASoC: wcd934x-dsp-cntl: Limit array size of val
Limit size of val to WCD_MISCDEV_CMD_MAX_LEN to avoid stack overflow.

CRs-Fixed: 2177167
Change-Id: I5d2b91e92305d6a485b2e8f959036504f0f55b13
Signed-off-by: Vaishnavi Kommaraju <vkommara@codeaurora.org>
2018-02-23 11:52:11 +05:30
Linux Build Service Account
87cef69000 Merge "asoc: codecs: Fix device switch pop issue" 2018-01-15 02:50:56 -08:00
Linux Build Service Account
153e58c732 Merge "ASoC: wcd934x: WDSP debug enhancement" 2018-01-09 08:41:45 -08:00
Laxminath Kasam
942d1c6ed1 audio: Enable audio compile for 8953
Add support for audio compile for 8953.

Change-Id: I37ef20b44aecba8ffc9a7d1d346bf83a9115ad1b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-12-29 16:44:10 +05:30
Karthikeyan Mani
82597ffeec asoc: codecs: Fix device switch pop issue
With AANC enabled, and when the device switches
from speaker path to handset path there is a audible
pop. Add more delay to the aanc enable work function
to resolve the pop issue.

CRs-Fixed: 2137607
Change-Id: Icaf381179b0a81440b21ab4280cb6fc95e6fe6ba
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-12-26 21:31:29 -08:00
Walter Yang
83b0584703 ASoC: wcd934x: WDSP debug enhancement
Add interface to trigger WDSP dumps for debug use.
Important register dump and WDSP ramdump are both collected when
DEBUG_DUMP string is sent from userspace via WDSP misc node or
when WDSP boot timeout happens.

CRs-Fixed: 2117755
Change-Id: I8b91a8939201a54512a5e3557ce771b4ff2ff075
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
2017-12-25 11:21:20 +08:00
Linux Build Service Account
5643be1804 Merge "ASoC: allow drivers to compile both static and dynamic" 2017-12-12 09:56:54 -08:00
Karthikeyan Mani
776b1b32c2 asoc: codecs: stop mbhc before mbhc init and after ssr
In SSR init call stop mbhc before initializing mbhc
again, so that usbc analog deregisters the callback
with PMI notifier.

CRs-fixed: 2128532
Change-Id: I329f25172b5cc2d80b93918787f703d89c95062f
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-12-07 08:50:35 -08:00
Asish Bhattacharya
5faacb3a7e ASoC: allow drivers to compile both static and dynamic
Based on where the code is synced the driver should allow
both static and dynamic linked compilation.
Also remove __exit for modules loaded from another common
init/exit functions.

Change-Id: Ib58f152002aba3af4446f9bbd9b82c279212bd0a
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2017-12-07 19:57:27 +05:30
Karthikeyan Mani
00d55efdfb asoc: codecs: add support for TX hybrid mode
Add support for analog mic TX hybrid mode to allow
audio catpure in high performance at the same time
achieving lower power.

CRs-Fixed: 2136385
Change-Id: I08b90a26d6b6e4761ff17dec84bf58f8d437d908
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-11-22 22:49:03 -08:00
Linux Build Service Account
ccde4f27a1 Merge "asoc: wcd934x: set bus down flag right when notification reaches" 2017-11-20 10:52:52 -08:00
Banajit Goswami
15fffc6b9b asoc: wcd934x: set bus down flag right when notification reaches
Set bus_down_in_recovery flag as soon as possible when
BUS down notification reaches codec driver. This is to
avoid any unwanted slimbus transaction while BUS is still
not recovered.

Change-Id: I77917975372bf51e6aa881cbfc63c479478db375
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2017-11-20 03:19:40 -08:00
Walter Yang
09d4168c79 ASoC: wcd934x: reset ASRC after playback
Reset ASRC after audio playback is completed to clear
the FIFO and avoid any noise being generated.

CRs-Fixed: 2129994
Change-Id: Ie45796e1bd68d5a8bd790490a65520358f26b811
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
2017-11-16 02:54:55 -08:00
Linux Build Service Account
7cb56be566 Merge "ASoC: Add support for qcs605 for dlkm" 2017-11-10 17:24:16 -08:00
Laxminath Kasam
6bb3a96984 ASoC: Add support for qcs605 for dlkm
Update make files to extend dlkm support for qcs605

Change-Id: Icf736fb66ca12966f4c6cd72bb906eb32899868a
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-11-09 14:58:12 +05:30
Xiaojun Sang
24daae8895 ASoC: codecs: add mixer ctls to control boost level
Add new mixer ctls to control max boost state level
for speaker protection V3.

Change-Id: If967de46955f6dc8692986503daea68ce105f642
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2017-11-07 01:36:52 -08:00
Laxminath Kasam
8b1366a648 Audio: DLKM support for all audio modules
Switch to DLKM for all audio kernel modules.

Change-Id: I6a96023a21f655f873531af9ace81f2b01eb0f58
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-11-02 13:42:09 +05:30
Linux Build Service Account
5ffdd5b2ec Merge "asoc: wcd934x: update micbias noise filter resistance" 2017-10-06 03:35:16 -07:00
Karthikeyan Mani
e87298f55a asoc: wcd934x: update micbias noise filter resistance
Update micbias noise filter resistance for better performance
during audio capture.

CRs-Fixed: 2055467
Change-Id: I56eb08ca9785d36cf577f32297f2c719224f0f65
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-10-04 12:10:49 -07:00
Meng Wang
6f90162f22 ASoC: wcd-mbhc: update electrical removal detection logic
when moisture is in jack, removing of the plug result in
electrical removal interrupt. So, update electrical interrupt
handler to handle mechanical removal based on moisture status.

CRs-Fixed: 2058106
Change-Id: I9cfbfbaf04783f0edcadb14d7828759020745289
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2017-09-28 17:01:15 +08:00
Linux Build Service Account
116595df77 Merge "asoc: remove unused audio files" 2017-09-14 04:20:53 -07:00
Laxminath Kasam
da488bf1ff asoc: remove unused audio files
Update to remove unused driver files
from techpack audio.

CRs-Fixed: 2105780
Change-Id: I1dcf1c6e75838863eee0556f7919068dfc47772d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-09-11 15:16:14 +05:30
Karthikeyan Mani
5eaced6d70 ASoC: codecs: wcd934x: Fix slimbus overflow
Remove MCLK_CONTROL and FS_CNT_CONTROL from
the list of volatile registers so that regmap
sync happens for these registers when coming
out of power collapse. These clock registers
need to be synced otherwise codec state is not
restored correctly after power collapse.

CRs-fixed: 2053506
Change-Id: I9b5385a357f9ad05ad085603410704e916e3985e
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2017-09-07 10:36:06 -07:00
Laxminath Kasam
8f7ccc2e6f audio-lnx: Add latest snapshot for audio drivers.
Propagate the changes based on latest snapshot
for audio kernel source tree at below cutoff of
kernel msm-4.9 -
(040750bfa78 -
 "Revert "ARM: dts: msm: Add DT node for aop-qmp
  clock controller on SDM845 v2"")

CRs-Fixed: 2104096
Change-Id: I0927c40b3a188dbf892e7ec4c1c7810953724929
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-09-04 20:12:56 +05:30
Laxminath Kasam
38070be30b audio-lnx: Add latest snapshot for audio drivers.
Propagate the changes based on latest snapshot
for audio kernel source tree at below cutoff of
kernel msm-4.9 -

(aed56b2df75 - "drm/msm/sde: update te vsync enable sequence change")

Change-Id: I7ed5102146986b81e5cb9ca55432360b3549b60c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-08-24 03:53:42 -07:00
Asish Bhattacharya
34504581a0 audio-lnx: Add snapshot of audio drivers from below commit.
(1996ec83a45: "ARM: dts: msm: Reduce CNOC bus voting for
        USB slave on SDM845")

This change is to migrate latest snapshot of kernel drivers.

Change-Id: I84669db544773d3ce9d2d5dff0ab6943bd7d8ff9
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2017-08-18 16:56:12 -06:00
Laxminath Kasam
605b42f92c audio-lnx: Rename folders to new flat structure.
Kernel audio drivers can be categorised into below folders.
asoc - ALSA based drivers,
asoc/codecs - codec drivers,
ipc - APR IPC communication drivers,
dsp - DSP low level drivers/Audio ION/ADSP Loader,
dsp/codecs - Native encoders and decoders,
soc - SoC based drivers(pinctrl/regmap/soundwire)

Restructure drivers to above folder format.
Include directories also follow above format.

Change-Id: I8fa0857baaacd47db126fb5c1f1f5ed7e886dbc0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-08-18 16:56:12 -06:00