linux/sound/soc/intel/skylake
Cezary Rojewski abf31feea2
ASoC: Intel: Update request-reply IPC model
struct ipc_message contains fields: header, tx_data and tx_size which
represent TX i.e. request while RX is represented by rx_data and rx_size
with reply's header equivalent missing.

Reply header may contain some vital information including, but not
limited to, received payload size. Some IPCs have entire payload found
within RX header instead. Content and value of said header is context
dependent and may vary between firmware versions and target platform.
Current model does not allow such IPCs to function at all.

Rather than appending yet another parameter to an already long list of
such for sst_ipc_tx_message_XXXs, declare message container in form of
struct sst_ipc_message and add them to parent's ipc_message declaration.

Align haswell, baytrail and skylake with updated request-reply model and
modify their reply processing functions to save RX header within message
container. Despite the range of changes, status quo is achieved.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20190723144341.21339-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-08-07 14:26:02 +01:00
..
bxt-sst.c ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
cnl-sst-dsp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490 2019-06-19 17:09:52 +02:00
cnl-sst-dsp.h ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
cnl-sst.c ASoC: Intel: Update request-reply IPC model 2019-08-07 14:26:02 +01:00
Makefile ASoC: Intel: Skylake: Combine snd_soc_skl_ipc and snd_soc_skl 2019-07-24 19:41:51 +01:00
skl-debug.c ASoC: Intel: SoC: skylake: no need to check return value of debugfs_create functions 2019-08-01 13:55:21 +01:00
skl-i2s.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
skl-messages.c ASoC: Intel: Skylake: Make MCPS and CPS params obsolete 2019-07-24 19:43:03 +01:00
skl-nhlt.c ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
skl-nhlt.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
skl-pcm.c ASoC: Intel: Skylake: Do not disable FW notifications 2019-07-24 19:42:45 +01:00
skl-ssp-clk.c ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
skl-ssp-clk.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
skl-sst-cldma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490 2019-06-19 17:09:52 +02:00
skl-sst-cldma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 490 2019-06-19 17:09:52 +02:00
skl-sst-dsp.c ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
skl-sst-dsp.h ASoC: Intel: Skylake: Do not disable FW notifications 2019-07-24 19:42:45 +01:00
skl-sst-ipc.c ASoC: Intel: Update request-reply IPC model 2019-08-07 14:26:02 +01:00
skl-sst-ipc.h ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
skl-sst-utils.c ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
skl-sst.c ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
skl-topology.c ASoC: Intel: Skylake: Remove static table index when parsing topology 2019-07-26 17:09:35 +01:00
skl-topology.h ASoC: Intel: Skylake: Cleanup skl_module_cfg declaration 2019-07-24 19:43:21 +01:00
skl.c ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct 2019-07-24 19:41:33 +01:00
skl.h ASoC: Intel: Skylake: Remove memory available check 2019-07-24 19:42:27 +01:00