Commit graph

1,028 commits

Author SHA1 Message Date
Ramprasad Katkam
c49a9d541d asoc: wcd937x: Reset mbhc detection type after ssr
If headset is connected during SSR, after recovery mbhc
driver expects a new detection event as the driver is reinitialized.
Reset detection type to insertion to retrigger a hw interrupt
for mbhc driver.

Change-Id: I55705eb6b6a289deb5dc16a4b9ef6252082a3d9a
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-10-04 20:09:17 +05:30
Ralf Herz
3cd7e58eca asoc: qcs405: Use changed clock for SPDIF interfaces
ADSP only supports 163.84MHz for SPDIF input interface clock.

Change-Id: Ib228dea0508a77d8194b348b50801624b678022f
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:38:09 -07:00
Ralf Herz
900bd738dd asoc: Add sysfs attr for SPDIF interfaces
The format change event signaling for SPDIF input interfaces
is adapted to provide format information through sysfs nodes.

Change-Id: Ifab1074a0e4b13e08813e27f8694023c2c47bfe1
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:37:49 -07:00
Ralf Herz
044e476310 dsp: Remove SPDIF format change detail info
Remove the detailed format information from each format change event as
sysfs interface is used now.

Change-Id: I6abd221e87b18c1f0e84e62db8076b8198e8ad24
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:37:26 -07:00
Dieter Luecking
ceef9afb23 asoc: msm-compress: Add support for up to 32 channels
Compressed streams now do support up to 32 channels.
Use new ADSP API for 32 channels if ADSP supports this.
If not fall back to 8 channel API.

Change-Id: Ief6fe189a6a34f15cfb96bfb9cb7d97b03633b95
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 16:34:57 +02:00
Dieter Luecking
1bf7c9038e asoc: qcs405: Upgrade for 16ch and senary AIFs
AFE MI2S interfaces now support up to 8 data lines
(16 channels). Add support for the same.
Make senary PCM and MI2S ports available.

Change-Id: I810dbe1c12ff091b3b4604d9e59f7015e3a55c98
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:14:53 -07:00
Dieter Luecking
92c6a5fcfb dai: Add support for 16ch MI2S
AFE MI2S interfaces now support up to 8 data lines
(16 channels). Add DAI support for the same.

Change-Id: I7c507c0161733094c1260731c7a046561fb63200
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:14:31 -07:00
Dieter Luecking
70668fcb8d asoc: msm: Add support for 32 ch
PCM streams do now support up to 32 channels.
Extend Playback Channel Map mixer control to 32
channels. Use new DSP 32 channel API if DSP version
supports it. If not fall back to 8 channels API.

Change-Id: I74c4f91b0c9fab2a963690ba8143ebea36ad23dd
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:14:00 -07:00
Dieter Luecking
39b3e3cc9e dsp: Update ASM driver to support 32 ch
ASM supports now up to 32 channels. Extend
the ASM Channel map structures from 8 to 32
channels.

Change-Id: I958d15910785cf0c5707dec432b4dd3e272c3dc1
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:13:39 -07:00
Dieter Luecking
50c5535991 dsp: Update ADM driver to support 32 ch
ADM supports now up to 32 channels. Extend the
ADM Channel map structures from 8 to 32
channels.

Change-Id: I87b3e4cce850af92467b139da9df67fcdafaf0b0
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 16:11:59 +02:00
Dieter Luecking
fa7687b233 dsp: Update AFE driver to support 16 ch
AFE supports now MI2S interfaces with up to 16 channels.
Add new APR API functions to support this.
Add support for senary PCM/MI2S ports.

Change-Id: I18d48eed4e9a0476363220e959a0f254aa292056
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 15:42:53 +02:00
Ralf Herz
e1f518308f asoc: codecs: Use sysfs instead of mixer_ctls for EP92 HDMI
The format change event signaling for EP92 HDMI input is adapted
to provide format information through sysfs nodes.
Chip configuration is done through sysfs as well.

Change-Id: I8c930ca5647899b4434272009699763c32fe9d04
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 14:30:13 +02:00
Surendar Karka
b9caa7f426 asoc: qdsp6v2: latency mode support for transcode loopback
Add metadata to configure latency mode for DSP transcode
loopback to set legacy or low latency path. Userspace API
introduced to configure the same.

Change-Id: I914c68a9e9d8647530b72c42548e571b7508c423
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-10-04 11:18:05 +05:30
Surendar Karka
bcfd6862e4 asoc: volume control support for transcode loopback FE
Add stream volume control support for DSP transcode
loopback to enable mute configuration requirement.

Change-Id: I2003e40c9888245c1b12f0e7fbd364170d5008cf
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-10-04 11:17:55 +05:30
Surendar Karka
33dc09849e asoc: enable app type config for transcode loopback
Add app type configuration support for DSP transcode
loopback to enable the required PP topologies.

Change-Id: I60ee50d78ba3c0edc9df042a2a86e691d62f24b7
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-10-04 11:17:40 +05:30
Surendar Karka
eca0432ffb asoc: mixer control queue handling in sink stream
Mixer control queue handling is required only for
playback. Move mixer control queue handling to be
part of the playback stream in DSP transcode loopback
driver.

Change-Id: Ia8067237f80d509f969cf454f5afa08aaa6b0e52
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-10-04 11:17:31 +05:30
Surendar Karka
a0a952401f asoc: update passthrough mode in transcode loopback driver
Update passthrough mode to pick proper path type for
compressed input data port in transcode loopback driver
to support compressed input in DSP loopback.

Change-Id: Ib2f66b467456787e08265a0da2bd85bb881a5d61
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-10-04 11:15:40 +05:30
Surendar Karka
3ef3d81d0a asoc: add support for Slimbus 9 port
Add support for SLIMBUS_9 Rx and Tx ports for
audio drivers.

Change-Id: If2071983ab38cb0de76c8231ec86d5c662cce2af
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-03 03:48:31 -07:00
Surendar Karka
b0dd21f1a3 dsp: add support for Slimbus 9 port in AFE
Add support for SLIMBUS_9 Rx and Tx ports in AFE
driver.

Change-Id: I7a21c06fd67984ef60e7d40b61a100ddc48371fc
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-03 03:47:47 -07:00
Surendar Karka
b412979a8c asoc: qcs405: add machine driver support for compress loopback
Add new dailnks in machine driver to support
compress loopback usecase for HDMI and BT sink.

Change-Id: Ie9658b3c06fd8d9a68b9b2317fe2689fa34a96f5
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-03 03:46:44 -07:00
Surendar Karka
c1cde37a30 asoc: add new FE dais to support compress loopback
Add new FE dais and their routings to support
compress loopback usecase for HDMI and BT sink.

Change-Id: I95d683ff22cda0e7d52333e7dabbb7694cb254f3
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-03 03:45:40 -07:00
Laxminath Kasam
cf0c63d564 asoc: wcd937x: update access for wcd937x registers
Remove page registers from access table. Update
read/write access for registers as per HW spec.

Change-Id: I8c32b79e4f0d4e378df5c83f3934c68f6c72385f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-10-03 15:15:04 +05:30
Mangesh Kunchamwar
eada51564e asoc: qcs405: add TDM Mics support
Add Quinary TDM support in QCS405 machine driver.

Change-Id: I36dcc27422124f55efb2c19bf0c73963c16c695c
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-03 13:37:20 +05:30
Vidyakumar Athota
8fb467f199 soc: make snd_event stub functions as static inline
Modify snd_event stub functions prototype as static inline
to make sure that there are no multiple definition errors
in the case of static compilation.

Change-Id: I0848be946b332df22c045b8e5fed4c39b7ee0fda
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2018-10-02 14:32:52 -07:00
Ramprasad Katkam
6af0c159a1 asoc: wcd-irq: Use non-sync disable irq api
wcd interrupts can be disabled in the same interrupt
context. So use non-sync disable irq api for disabling the
interrupts to avoid a deadlock.

Change-Id: I82dda8dbcd80ba18674eea00686f6a4f54a3b340
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-10-02 09:12:57 +05:30
Sudheer Papothi
2498e397f4 ASoC: wcd934x: Avoid soundwire enable when codec is in power collapse
During SSR, when the playback on speaker gets started before codec
is out of digital core power collapse, results in soundwire
register read/write failures. Check for codec power state before
enabling the soundwire during speaker device path enablement for
playback usecase to avoid soundwire register read/write failures.

Change-Id: I3b45ef0c34ad4f97aad89afaf719989ffbda7485
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-10-01 11:50:15 -07:00
Ramprasad Katkam
55ec68ca3c asoc: wcd937x: clear interrupts using regmap irq framework
Add proper way to clear interrupts using regmap irq framework,
to avoid mismatch between interrupts handled and interrupts
cleared. wcd937x requires writing '1' and then '0' to clear
interrupt. Set a new regmap irq flag 'clear_ack' to indicate this.

Change-Id: I1346dc66735d3b5788e1cc0cfef772c9deacbfc1
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-10-01 11:38:23 +05:30
Ramprasad Katkam
62d6d76b81 soc: swr-mstr: Add logic to recursively trigger slave irq handler
Soundwire slave interrupt is only edge type, so any pending slave
side interrupts could not cause a new slave interrupt, if
they are triggered before clearing of existing interrupts.
Recursively trigger slave irq until there are no pending slave
interrupts to handle this issue.

Change-Id: I254f2467f09172490796114b48f1f0feb604ad17
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-10-01 11:37:36 +05:30
Laxminath Kasam
638b56027e asoc: codecs: add ignore suspend for bolero and wcd937x widgets
Update ignore suspend for AIF in/out and dapm input/output
widgets for bolero and wcd937x codecs to avoid suspend
of codec during active usecase running even after APSS
goes to suspend.

CRs-Fixed: 2321226
Change-Id: I277129e8e657485c56414a385150c4da55382770
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-10-01 11:31:22 +05:30
Mangesh Kunchamwar
52a8c3f76f asoc: msm: routing: add support TDM Mics in routing driver
Add Quinary TDM support to enable TDM Mics in QCS405.

Change-Id: I7ce8f4e53bc37c4cf88eb0d15f8233db94ab4c63
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-09-28 19:49:01 +05:30
Mangesh Kunchamwar
f4feb27287 asoc: add support for TDM mics on QCS405
Add Quinary TDM for enabling TDM mics.

Change-Id: I4a4c74fc38c3c44ae594399103622ffa008d9566
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-09-28 19:48:50 +05:30
Laxminath Kasam
7b9cdb66e6 asoc: bolero: Fix slow playback on HPH
After switching from native to non-native clip,
observe slowness in clip playback content heard
on headphones. Update mclk_mux for enable sequence
based on native flag and for disable sequence
use the same setting done during enable.

CRs-Fixed: 2322232
Change-Id: I795e0620e0239b53cdfdadaf2d57acfb570c4c3b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-28 16:34:26 +05:30
Ramprasad Katkam
debe893b7c soc: swr-mstr: Enable required soundwire master interrupts
Enable soundwire master interrupts by setting the interrupt
enable bits in new CPU_n interrupt register.

Change-Id: Iec2502129cd04da2c8cbc3d3f43278a2ed3ba7d6
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-09-28 13:41:23 +05:30
Vignesh Kulothungan
2ce6784865 asoc: update log level to avoid execessive logging
Excessive logging causes throttling during bootup.
Update log level from error to debug in get functions to
avoid excessive logging.

CRs-Fixed: 2321589
Change-Id: If2a23144adf76cdd9bb2d9048a967b63186d7f6e
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-09-27 09:56:25 -07:00
Linux Build Service Account
662dec1e1e Merge "config: sm6150: Enable compilation of snd_event" 2018-09-27 05:31:53 -07:00
Linux Build Service Account
ea24d6da52 Merge "asoc: sm6150: Add support for audio over display port" 2018-09-26 21:37:09 -07:00
Linux Build Service Account
eaf72d3218 Merge "asoc: fix routing error during switch from non-adm to adm path" 2018-09-26 21:37:07 -07:00
Linux Build Service Account
e5b3489f2f Merge "asoc: sm6150: Add SND event FWK support for talos" 2018-09-26 21:37:01 -07:00
Linux Build Service Account
649cf8acaa Merge "asoc: wcd934x: add SSR events to trigger to new swr master controller" 2018-09-26 21:37:00 -07:00
Linux Build Service Account
a984bd8837 Merge "asoc: sm6150: Add proper checks for ch_num" 2018-09-25 19:17:44 -07:00
Dhananjay Kumar
3d8cc2ed33 asoc: fix routing error during switch from non-adm to adm path
Fix routing error from incorrect usage of passthrough mode
while switching LSM session from direct AFE connection to
path using ADM before AFE connection.
Issue is due to loss of passthrough mode for an FE not opened
with ADM during initial session setup or while moving the FE
from one BE port to another BE port, i.e. device switch usecases.
Since passthrough mode for an FE is supposed to be same for all
the BEs connecting to the FE and is directly decided from FE
driver having single value, decouple passthrough mode from BE
and store the required mode in an FE config independent of BE usage.
This allows storing passthrough mode for future usage irrespective
of initial setup path which can be with or without ADM.

Change-Id: I53106b49effd9b267363aedd77477eed103b317c
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2018-09-25 15:34:41 +05:30
Rohit kumar
27138766db config: sm6150: Enable compilation of snd_event
Enable compilation of snd_event driver for sm6150.

Change-Id: Ia6c62fea8d3660e187e79d1743a1b6862f3dd228
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
2018-09-25 12:20:20 +05:30
Vaishnavi Kommaraju
9a3d5ebc7c asoc: sm6150: Add SND event FWK support for talos
Add snd_event support for talos required for SSR.

Change-Id: If689d9cda131324b99e0dda0b91f237b495eeadc
Signed-off-by: Vaishnavi Kommaraju <vkommara@codeaurora.org>
2018-09-25 12:00:13 +05:30
Laxminath Kasam
1aab2c064a asoc: wcd937x: add SSR changes for wcd937x codec driver
Add changes to recover audio after SSR on wcd937x driver.

Change-Id: I661605e9b1bd71f08f331d14ae52f89ba8423d4f
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:59:29 +05:30
Laxminath Kasam
fb0d683b37 asoc: bolero: add SSR changes support on bolero codec
Add changes for audio SSR and PDR on bolero codec
and respective macro drivers.

Change-Id: I146de15022cebb788ccb52ed6b8ab85b7cba2ba0
Signed-off-by: Vaishnavi Kommaraju <vkommara@codeaurora.org>
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:57:49 +05:30
Laxminath Kasam
27b1bbc54b soc: pinctrl-lpi: add SSR changes based on snd event fwk
Add changes to support SSR in pinctrl lpi driver
based on snd event framework.

Change-Id: If4fb3085ab69ae04628ef10a8b528d0cdc20f40d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:36:27 +05:30
Laxminath Kasam
d7262ae1e0 asoc: wcd934x: add SSR events to trigger to new swr master controller
For new swr master controller to recover WSA on wcd934x variant,
trigger events from wcd934x driver for ssr down and up.

Change-Id: I8f0163178708760ef3ad2a765a80682611693e9b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:35:35 +05:30
Laxminath Kasam
1df09a82e5 soc: add SSR changes for swr mstr controller
Add changes to recover audio during SSR and PDR
in swr master controller driver.

Change-Id: Ibe3ae097b5f9d59b135d861c5f50f6bbc1c05af6
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:32:40 +05:30
Ramprasad Katkam
7cb4ff6b65 soc: swr-mstr: Use single pm runtime call during port enable
Add changes to call pm runtime calls only once for soundwire
master active, to be able to decrement and put to suspend
during SSR.

Change-Id: I068040e2a224d1ee97f472f69f25af77ae632be2
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-09-25 11:32:16 +05:30
Laxminath Kasam
497a651ef8 asoc: codecs: Add parent child relation for bolero and tanggu
In bolero and tanggu combination, make bolero parent of tanggu.
Bolero and tanggu can communicate mutually using notifier and
plat_data callback APIs.

Change-Id: Iecd119df7f0ad1ba225c0427f3f42f217146b092
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:31:37 +05:30