CRAS: Enable/Disable Noise Cancellation by UCM Modifier

Noise Cancellation (NC) is the component to be utilized in input
pipelines of Audio DSP. The on/off sequence would be defined as UCM
SectionModifier according to models.

In CRAS, we use a system state flag to store the on/off state of NC,
which can be toggled by dbus_control. Per open of an alsa input device,
if it supports NC, sets NC enable/disable according to the system state
flag by UCM Modifier.

Per toggle of NC on/off via dbus_control, CRAS should check if there is
opened input device and NC-supported, performs suspend and resume to
re-open that device for setting NC enable/disable.

BUG=b:170281884
TEST=Manual test

Change-Id: I7fcc5f376a2c886e2ac465148dc12c1a65bc148c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2649865
Tested-by: Pin-chih Lin <johnylin@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Queue: Pin-chih Lin <johnylin@chromium.org>
Auto-Submit: Pin-chih Lin <johnylin@chromium.org>
12 files changed