linux/sound/soc/sof
Paul Olaru db38d86d0c
ASoC: sof: Improve sof_ipc4_bytes_ext_put function
The function is improved in the way that if the firmware returns a
validation error on the newly sent bytes, then the kernel will
automatically restore to the old bytes value for a given kcontrol.

This way, if the firmware rejects a data blob then the kernel will also
reject it, instead of saving it for the next suspend/resume cycle. The
old behaviour is that the kernel would save it anyway and on next
firmware boot it would apply the previously-rejected configuration,
leading to errors during playback.

Additionally, the function also saves previously validated
configurations, so that if the firmware does end up rejecting a new
bytes value the kernel can send an old, previously-valid configuration.

Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://lore.kernel.org/r/20230503081049.73847-3-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-05-23 19:31:15 +01:00
..
amd ASoC: SOF: amd: Add pci revision id check 2023-05-23 10:58:30 +01:00
imx ASoC: SOF: imx8ulp: add missing of_node_put() in imx8ulp_probe() 2022-08-24 12:21:28 +01:00
intel ASoC: SOF: Intel/ipc4: Do not reset BE DAI pipeline 2023-05-16 00:17:51 +09:00
mediatek ASoC: SOF: mediatek: mt8186: Use snd_sof_ipc_process_reply() helper 2023-05-08 08:48:22 +09:00
xtensa ASoC: SOF: dsp_arch_ops: add kernel log level parameter for oops and stack 2021-12-23 13:38:25 +00:00
compress.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
control.c ASoC: SOF: control: Extend the optionality of IPC ops to IPC as well 2022-12-25 23:32:33 +00:00
core.c ASoC: SOF: Add support for DSPless mode 2023-04-04 12:42:34 +01:00
debug.c ASoC: SOF: Add support for DSPless mode 2023-04-04 12:42:34 +01:00
iomem-utils.c ASoC: SOF: Split up utils.c into sof-utils and iomem-utils 2022-02-10 15:19:04 +00:00
ipc3-control.c ASoC: sof: Improve sof_ipc3_bytes_ext_put function 2023-05-23 19:31:14 +01:00
ipc3-dtrace.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
ipc3-loader.c ASoC: SOF: Introduce container struct for SOF firmware 2022-10-21 13:04:54 +01:00
ipc3-pcm.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
ipc3-priv.h ASoC: SOF: Modify the host trace_init parameter list to include dmab 2022-05-19 16:44:17 +01:00
ipc3-topology.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
ipc3.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
ipc4-control.c ASoC: sof: Improve sof_ipc4_bytes_ext_put function 2023-05-23 19:31:15 +01:00
ipc4-fw-reg.h ASoC: SOF: add ipc4_fw_reg header file 2023-02-03 12:03:48 +00:00
ipc4-loader.c ASoC: SOF: ipc4-loader/topology: Query the CPC value from manifest 2023-05-22 11:18:38 +01:00
ipc4-mtrace.c ASoC: SOF: ipc4-mtrace: process pending logs upon FW crash 2023-03-07 13:58:20 +00:00
ipc4-pcm.c ASoC: SOF: ipc4-pcm: reset all pipelines during FE DAI hw_free 2023-05-15 20:25:37 +09:00
ipc4-priv.h ASoC: SOF: ipc4-loader/topology: Query the CPC value from manifest 2023-05-22 11:18:38 +01:00
ipc4-topology.c ASoC: SOF: ipc4-loader/topology: Query the CPC value from manifest 2023-05-22 11:18:38 +01:00
ipc4-topology.h ASoC: SOF: ipc4/intel: Add support for chained DMA 2023-03-21 12:13:31 +00:00
ipc4.c ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data() 2023-03-22 13:17:27 +00:00
ipc.c ASoC: SOF: client: Add sof_client_ipc_set_get_data() 2022-10-31 13:20:20 +00:00
Kconfig ASoC: SOF: Drop obsolete dependency on COMPILE_TEST 2022-11-28 13:04:35 +00:00
loader.c ASoC: SOF: loader: Remove log prefixes for snd_sof_run_firmware 2023-03-07 13:58:16 +00:00
Makefile ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device 2022-10-31 13:20:22 +00:00
nocodec.c ASoC: sof: use asoc_dummy_dlc 2023-05-08 08:47:07 +09:00
ops.c ASoC: SOF: Switch to IPC generic firmware tracing 2022-05-19 16:44:15 +01:00
ops.h Merge branch 'for-linus' into for-next 2023-02-16 15:06:18 +01:00
pcm.c ASoC: SOF: Simplify the calculation of variables 2023-05-15 20:14:34 +09:00
pm.c sound updates for 6.4-rc1 2023-04-27 10:58:37 -07:00
sof-acpi-dev.c ASoC: SOF: add IPC-dependent file names 2022-04-19 12:03:34 +01:00
sof-acpi-dev.h
sof-audio.c ASoC: SOF: pcm: Add an option to skip platform trigger during stop 2023-04-20 12:51:59 +01:00
sof-audio.h ASoC: sof: Improve sof_ipc3_bytes_ext_put function 2023-05-23 19:31:14 +01:00
sof-client-ipc-flood-test.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
sof-client-ipc-msg-injector.c ASoC: SOF: ipc-msg-injector: fix copy in sof_msg_inject_ipc4_dfs_write() 2022-07-14 13:26:37 +01:00
sof-client-probes-ipc3.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
sof-client-probes-ipc4.c ASoC: SOF: Use no_reply calls for TX 2023-04-20 12:51:45 +01:00
sof-client-probes.c ASoC: SOF: probes: Check ops before memory allocation 2022-11-17 13:58:43 +00:00
sof-client-probes.h ASoC: SOF: IPC4: probes: Implement IPC4 ops for probes client device 2022-10-31 13:20:22 +00:00
sof-client.c ASoC: SOF: Add support for DSPless mode 2023-04-04 12:42:34 +01:00
sof-client.h ASoC: SOF: ipc: Add no reply inline calls 2023-04-20 12:51:44 +01:00
sof-of-dev.c ASoC: SOF: add IPC-dependent file names 2022-04-19 12:03:34 +01:00
sof-of-dev.h ASoC: SOF: Introduce function sof_of_machine_select 2022-08-23 18:22:29 +01:00
sof-pci-dev.c ASoC: SOF: Add path definition for external firmware libraries 2022-10-21 13:05:03 +01:00
sof-pci-dev.h
sof-priv.h ASoC: SOF: ipc: Add no reply inline calls 2023-04-20 12:51:44 +01:00
sof-utils.c ASoC: SOF: remove unneeded dev_vdbg 2022-09-19 15:44:06 +01:00
sof-utils.h ASoC: SOF: Split up utils.c into sof-utils and iomem-utils 2022-02-10 15:19:04 +00:00
stream-ipc.c ASoC: SOF: Add support for compress API for stream data/offset 2023-01-17 13:37:53 +00:00
topology.c ASoC: SOF: Add support for DSPless mode 2023-04-04 12:42:34 +01:00
trace.c ASoC: SOF: trace: No need to check for op pointer in sof_fw_trace_free() 2022-12-25 23:32:39 +00:00