I don't think it came through in the commit message, but I wanted to mention
in the system that prompted this software does not control the LED. The LED
is actually controlled by hardware, but has circuitry to delay the hardware
mute until software mute is complete to avoid any "popping noises".
This patch along with the platform/x86 patch:
https://patchwork.kernel.org/project/platform-driver-x86/patch/20201103125542.8572-1-Perry_Yuan@xxxxxxxx/
complete that loop.
The flow is:
User presses mute key, dell-wmi receives event, passes to dell-privacy-wmi.
This emits to userspace as KEY_MICMUTE. Userspace processes it and via UCM
switches get toggled. The codec driver (or subsystem perhaps) will use LED
trigger to notify to change LED. This gets picked up by dell-privacy-acpi.
dell-privacy-acpi doesn't actually change LED, but notifies that SW mute was
done.
If none of that flow was used the LED and mute function still work, but there
might be the popping noise.
Side note that the existing UCM config for RT715 does not do what I
suggested, it seems we are using an incorrect configuration for
CaptureSwitch and CaptureVolume:
CaptureSwitch "PGA5.0 5 Master Capture Switch"
CaptureVolume "PGA5.0 5 Master Capture Volume"
CaptureVolume "PGA5.0 5 Master Capture Volume"
That should be an RT715 control, not an SOF one. This was brought to our
attention this morning. Probably a copy-paste from the DMIC case, likely
needs to be changed for both RT715 and RT715-sdca cases.
https://github.com/thesofproject/linux/issues/2544#issuecomment-721231103