Cezary Rojewski
e17527e167
ASoC: Intel: avs: Add probe machine board
...
Stub machine board driver with no custom DAPM routes and single FE DAI
link for userspace to interact with.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221202152841.672536-13-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-12-05 14:05:29 +00:00
Amadeusz Sławiński
a9d8723c72
ASoC: Intel: avs: rt5682: Refactor jack handling
...
Use link->exit() rather than pdev->remove() to unassign jack during card
unbind procedure so codec link initialization and exit procedures are
symmetrical.
Also, there is no need to perform search for codec dai in suspend_pre()
and resume_post() ourselves. Use snd_soc_card_get_codec_dai() instead.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221129180738.2866290-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 18:10:03 +00:00
Amadeusz Sławiński
19bb7c3053
ASoC: Intel: avs: rt5682: Add define for codec DAI name
...
Following commits will make use of it to find codec DAI, define it
first.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221129180738.2866290-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 18:10:02 +00:00
Amadeusz Sławiński
28baae9bfc
ASoC: Intel: avs: rt298: Refactor jack handling
...
Use link->exit() rather than pdev->remove() to unassign jack during card
unbind procedure so codec link initialization and exit procedures are
symmetrical.
Also, there is no need to perform search for codec dai in suspend_pre()
and resume_post() ourselves. Use snd_soc_card_get_codec_dai() instead.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-10-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:21 +00:00
Amadeusz Sławiński
1fa675a00a
ASoC: Intel: avs: rt298: Add define for codec DAI name
...
Following commits will make use of it to find codec DAI, define it
first.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-9-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:20 +00:00
Amadeusz Sławiński
2f292443b4
ASoC: Intel: avs: rt286: Refactor jack handling
...
Use link->exit() rather than pdev->remove() to unassign jack during card
unbind procedure so codec link initialization and exit procedures are
symmetrical.
Also, there is no need to perform search for codec dai in suspend_pre()
and resume_post() ourselves. Use snd_soc_card_get_codec_dai() instead.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-8-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:19 +00:00
Amadeusz Sławiński
af8ced412d
ASoC: Intel: avs: rt286: Add define for codec DAI name
...
Following commits will make use of it to find codec DAI, define it
first.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:18 +00:00
Amadeusz Sławiński
a08797afc1
ASoC: Intel: avs: rt274: Refactor jack handling
...
Use link->exit() rather than pdev->remove() to unassign jack during card
unbind procedure so codec link initialization and exit procedures are
symmetrical.
Also, there is no need to perform search for codec dai in suspend_pre()
and resume_post() ourselves. Use snd_soc_card_get_codec_dai() instead.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-6-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:17 +00:00
Amadeusz Sławiński
58391e7ca0
ASoC: Intel: avs: rt274: Refer to DAI name through a constant
...
There is existing define for codec DAI name, make use of it when setting
codec DAI name.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-5-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:16 +00:00
Amadeusz Sławiński
9febcd7a01
ASoC: Intel: avs: nau8825: Refactor jack handling
...
Use link->exit() rather than pdev->remove() to unassign jack during card
unbind procedure so codec link initialization and exit procedures are
symmetrical.
Also, there is no need to perform search for codec dai in suspend_pre()
and resume_post() ourselves. Use snd_soc_card_get_codec_dai() instead.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-4-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:15 +00:00
Amadeusz Sławiński
833e250ef5
ASoC: Intel: avs: da7219: Refactor jack handling
...
Use link->exit() rather than pdev->remove() to unassign jack during card
unbind procedure so codec link initialization and exit procedures are
symmetrical.
Also, there is no need to perform search for codec dai in suspend_pre()
and resume_post() ourselves. Use snd_soc_card_get_codec_dai() instead.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221125184032.2565979-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-29 12:13:14 +00:00
Cezary Rojewski
7af1ca5bb5
ASoC: Intel: avs: Drop da7219_aad_jack_det() usage
...
Do not access the internal function directly, do so through
component->set_jack() instead.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221031160227.2352630-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-11-07 13:58:18 +00:00
Amadeusz Sławiński
0d527a9922
ASoC: Intel: avs: boards: Fix typo in comments
...
It keeps propagating through machine boards, fix it once and for all.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com >
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Link: https://lore.kernel.org/r/20221024190841.31572-3-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-10-26 14:18:28 +01:00
Mark Brown
46234fbefe
ASoC: Intel: avs: Fixes and new boards support
...
Merge series from Cezary Rojewski <cezary.rojewski@intel.com >:
Two fixes are leading the way - one addresses the incorrect DMA mask
assignment (typo) at driver probe. The other, fixes a potential buffer
overflow when copying data received from firmware to kernel buffer.
However unlikely, the fix should still be there.
Then a range of patches providing the support for:
- AML with rt286 (machine board)
- KBL-R for rt298 (codec)
- KBL-R with rt298 (machine board)
- APL/KBL with da7219 (machine board)
- Addition of all the missing SKL-based PCI ids to core.c
Of the remaining changes, only one stands out - special case is provided
for "unsupported" IPCs. The driver supports a range of platforms,
however, on some generations given IPC may not be supported. Such call
shall not be treated as "invalid" - those are two different scenarios.
Everything else in the patchset is mostly a readability improvement:
spelling fixes and log messages issues, code simplification.
2022-10-18 13:01:27 +01:00
Amadeusz Sławiński
e331b534d3
ASoC: Intel: avs: Add missing include to HDA board
...
In some configurations board fails to compile due to missing header. Add
it to fix build.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221010121955.718168-10-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-10-17 12:50:12 +01:00
Amadeusz Sławiński
fecc00b448
ASoC: Intel: avs: Support da7219 on both KBL and APL
...
KBL and APL devices use same codec but have different clock, so it must
be set appropriately depending on device.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221010121955.718168-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-10-17 12:50:09 +01:00
Amadeusz Sławiński
9d0737fa0e
ASoC: Intel: avs: Add quirk for KBL-R RVP platform
...
KBL-R RVPs contain built-in rt298 codec which requires different PLL
clock and .dai_fmt configuration than seen on other boards.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20221010121955.718168-5-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-10-17 12:50:07 +01:00
Amadeusz Sławiński
1c993300ab
ASoC: Intel: avs: Add max98927 machine board
...
To support AVS-max98927 configuration add machine board connecting AVS
platform component driver with max98927 codec one.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com >
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Link: https://lore.kernel.org/r/20220930124538.354992-2-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-10-17 12:47:44 +01:00
Kuninori Morimoto
c403dcd8b0
ASoC: soc-core.c: setup rtd->pmdown_time at soc_new_pcm_runtime()
...
Almost all default rtd->xxx are setup at soc_new_pcm_runtime()
which is sub-function of snd_soc_add_pcm_runtime() (A).
But "rtd->pmdown_time" is setup at soc_init_pcm_runtime() (B).
It is very random timing setup. This patch setup it at (A),
same as other rtd->xxx.
static int snd_soc_bind_card(...)
{
...
for_each_card_prelinks(...) {
(A) ret = snd_soc_add_pcm_runtime(...);
...
}
...
for_each_card_rtds(...) {
(B) ret = soc_init_pcm_runtime(...);
...
}
...
}
One note is that current topology/intel are directly calling
snd_soc_add_pcm_runtime() (A) without calling soc_init_pcm_runtime() (B).
This means, its "rtd->pmdown_time settings" was 0, but will have default
value by this patch.
"rtd->pmdown_time settings" will be used at
snd_soc_runtime_ignore_pmdown_time(). This patch adds
"ignore_pmdown_time" to these driver to keep compatibility.
bool snd_soc_runtime_ignore_pmdown_time(...)
{
...
=> if (!rtd->pmdown_time || rtd->dai_link->ignore_pmdown_time)
return true;
...
}
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://lore.kernel.org/r/875yhxmjjd.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-09-19 17:52:41 +01:00
Cezary Rojewski
f1fd46e068
ASoC: Intel: avs: Fix i2s_test card name initialization
...
Update printf formatting as 'ssp_port' argument is of type 'int', not
'long int'.
Fixes: e39acc4cfd ("ASoC: Intel: avs: Add I2S-test machine board")
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220706062952.251704-1-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-07-06 12:10:48 +01:00
Lukas Bulwahn
f4ba35b79b
ASoC: Intel: avs: correct config reference for I2S test board
...
Commit e39acc4cfd ("ASoC: Intel: avs: Add I2S-test machine board") adds
the config "SND_SOC_INTEL_AVS_MACH_I2S_TEST", but in the Makefile refers
to config "SND_SOC_INTEL_AVS_MACH_i2s_TEST" (notice the uppercase and
lowercase difference).
Adjust the Makefile to refer to the actual existing config.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com >
Acked-by: Cezary Rojewski <cezary.rojewski@intel.com >
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Link: https://lore.kernel.org/r/20220705103238.7484-1-lukas.bulwahn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-07-05 16:44:32 +01:00
Cezary Rojewski
6b5b0d6f36
ASoC: Intel: avs: Add da7219 machine board
...
To support AVS-da7219 configuration add machine board connecting AVS
platform component driver with da7219 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-15-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:23 +01:00
Amadeusz Sławiński
223a0a9458
ASoC: Intel: avs: Add max98373 machine board
...
To support AVS-max98373 configuration add machine board connecting AVS
platform component driver with max98373 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-14-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:22 +01:00
Cezary Rojewski
282c8f8de7
ASoC: Intel: avs: Add max98357a machine board
...
To support AVS-max98357a configuration add machine board connecting AVS
platform component driver with max98357a codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-13-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:21 +01:00
Cezary Rojewski
69ea14efe9
ASoC: Intel: avs: Add ssm4567 machine board
...
To support AVS-ssm4567 configuration add machine board connecting AVS
platform component driver with ssm4567 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-12-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:19 +01:00
Cezary Rojewski
32ee40b559
ASoC: Intel: avs: Add nau8825 machine board
...
To support AVS-nau8825 configuration add machine board connecting AVS
platform component driver with nau8825 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-11-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:18 +01:00
Cezary Rojewski
748102786b
ASoC: Intel: avs: Add rt5682 machine board
...
To support AVS-rt5682 configuration add machine board connecting AVS
platform component driver with rt5682 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-10-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:17 +01:00
Cezary Rojewski
88429ab16d
ASoC: Intel: avs: Add rt298 machine board
...
To support AVS-rt298 configuration add machine board connecting AVS
platform component driver with rt298 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-9-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:16 +01:00
Cezary Rojewski
1d395ee2e1
ASoC: Intel: avs: Add rt286 machine board
...
To support AVS-rt286 configuration add machine board connecting AVS
platform component driver with rt286 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-8-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:16 +01:00
Cezary Rojewski
e2a4cbf277
ASoC: Intel: avs: Add rt274 machine board
...
To support AVS-rt274 configuration add machine board connecting AVS
platform component driver with rt274 codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:14 +01:00
Cezary Rojewski
e39acc4cfd
ASoC: Intel: avs: Add I2S-test machine board
...
Allow for testing audio streaming over I2S interface through SSP
loopback. No actual codec is needed here as board is intended for SSP
loopback scenarios only. One playback and one capture endpoint is
exposed per SSP port.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-6-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:13 +01:00
Cezary Rojewski
6575e5cae7
ASoC: Intel: avs: Add DMIC machine board
...
Support AVS-DMIC configuration by implementing board connecting AVS
platform component with DMIC codec one.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-5-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:12 +01:00
Cezary Rojewski
97030a4337
ASoC: Intel: avs: Add HDAudio machine board
...
Connect AVS driver with ASoC HDAudio codec with help of this machine
board. Similarly to its platform and codec components, DAI links and
routes are being created dynamically so single board can be used across
all HDAudio codec types.
Card makes use of "binder" BE DAI Link so HDAudio codec driver can be
listed as one of its components. This allows for BE DAIs to be created
dynamically, based on HDAudio codec capabilities.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://lore.kernel.org/r/20220511162403.3987658-4-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2022-06-06 12:33:12 +01:00