ASoC: SOF: ipc4: Add support for Intel HW managed mic privacy messaging
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Fri, 7 Mar 2025 11:28:13 +0000 (13:28 +0200)
committerMark Brown <broonie@kernel.org>
Sat, 8 Mar 2025 16:06:40 +0000 (16:06 +0000)
commiteea84a7f0cdb693c261a7cf84bd4b3d81479c9a6
tree64351d8b380d3fee2dbc5b3088215395e80df3a2
parent8aeb7d2c3fc315e629d252cd601598a5af74bbb0
ASoC: SOF: ipc4: Add support for Intel HW managed mic privacy messaging

ACE3 (Panther Lake) introduced support for microphone privacy feature which
can - in hardware - mute incoming audio data based on a state of a physical
switch.
The change in the privacy state is delivered through interface IP blocks
and can only be handled by the link owner.
In Intel platforms Soundwire is for example host owned, so the interrupt
can only be handled by the host.

Since the input stream is going to be muted by hardware, the host needs to
send a message to firmware about the change in privacy so it can execute a
fade out/in to enhance user experience.

The support for microphone privacy can be queried from the HW_CONFIG data
under the INTEL_MIC_PRIVACY_CAP tuple. This is Intel specific data, the
core will pass it to platform code if the intel_configure_mic_privacy()
callback is provided.

Platform code can call sof_ipc4_mic_privacy_state_change() to send the IPC
message to the firmware on state change.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://patch.msgid.link/20250307112816.1495-6-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/sof/ipc4/header.h
sound/soc/sof/ipc4-loader.c
sound/soc/sof/ipc4-priv.h
sound/soc/sof/ipc4.c