[PATCH v4 6/6] ALSA: led control - add sysfs kcontrol LED marking layer
Jaroslav Kysela
perex at perex.cz
Tue Mar 23 13:22:51 CET 2021
Dne 23. 03. 21 v 12:34 Takashi Iwai napsal(a):
>>> The simpler implementation in the kernel side is always nicer, but of
>>> course only if it works sufficiently. So it depends on how much we
>>> want to support this feature. The parse of control name can be done
>>> by scripting, but it's cumbersome for now, indeed, so if the shell
>>> scripting is seen as the major usage, it'd be more convenient if the
>>> kernel parses the string, yeah.
>>>
>>>>> - Do we have to deal with binding with multiple controls to a single
>>>>> mute LED? Might a single exclusive binding make things easier?
>>>>> Then we don't have to create sysfs entries per card, and it'll be
>>>>> something like
>>>>> echo 1:10 > /sys/devices/virtual/sound/ctl-led/mic/bind
>>>>> which is equivalent with the API call above.
>>>>> If multiple bindings are attempted, it can simply give an error.
>>>>> In the driver side, it catches the unexpected binding, too.
>>>>
>>>> AMD ACP digital + HDA analog headset microphone. If we follow the standard HDA
>>>> behaviour, both inputs should trigger the mic LED. Two cards are in the game.
>>>
>>> And that brings yet another question. If the Dell privacy thing comes
>>> to play here, for example, the mute LED is tied with the hardware
>>> control of the built-in mic. Then do we influence on this depending
>>> on the headset mic mute state, too?
>>
>> What users expect? I think that both scenarios are valid, thus we should allow
>> them.
>
> IMO, this is a hard part. It's possible that user (or the system)
> wants two different scenarios:
> - LED indicates the built-in mic mute
> - LED indicates the mute state of the currently used input
>
> The current code assumes the latter case, and that might conflict with
> the concept of Dell privacy stuff (as the built-in mic is still
> allowed while using the headset).
>
> How would be a good way to switch to a different scenario?
[Adding Perry /Dell/ to the discussion]
It's an user space setup. We can manage some conditional settings in UCM and
the shell scripts can be written with conditional parts. Perhaps, a global
configuration file(s) in /etc/alsa may specify the requested scenario.
I would just start with a default behavior (which may be hw specific) and
refine this later.
Jaroslav
--
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
More information about the Alsa-devel
mailing list