RE: [PATCH 2/2] ASoC: codecs: Add da7218 codec driver

From: Opensource [Adam Thomson]
Date: Tue Nov 10 2015 - 11:21:24 EST

On November 10, 2015 15:45, Mark Brown wrote:

> > It's to detect the noise level on a mic and raise an event if the captured
> > sound is above a specific threshold level. Apologies if that wasn't clear.
> > In the driver code I'm using KEY_VOICECOMMAND, and simulating a press and
> > release of this key, to indicate to user-space. This seemed like the obvious
> > choice for this feature to me, although I'd happily get your opinion on this.
> That seems like a particularly unfortunate choice given that
> VOICECOMMAND is used in the standard Google headset mapping (see
> ts3a227e for an example, that's a device specifically aimed at providing
> accessory detection in Chromebooks). There's also been some pushback
> against using the input devices due to the difficulty in enabling apps
> to access input devices - ALSA controls were preferred instead but
> that's less helpful for tinyalsa. Perhaps that can be added relatively
> easily, or a uevent or something.

I chose VOICECOMMAND as I thought this kind of feature might offer the same kind
of use as the physical button, but if this only for Google headset use then fair

> Not sure what the best way forward here is, the other implementations of
> this that I'm aware of do more of the detection in offload and present
> streams of detected audio to userspace via normal capture.

Yes, this is far more simplistic, and any voice processing or capture is not
handled by the codec. It just an indication of above threshold noise level at
the mic. For the implementations you know of, how are those events indicated to

> I would at least suggest moving this into a separate patch and doing
> the integration separately.

Are you happy for me to leave the actual controls for this feature in, without
the user-space reporting side? Otherwise it's a pain to strip that out, and then
re-instate later. The event can be masked off until the user-space reporting
is added in a subsequent patch.