Thanks for taking a look at this patch so quickly, Takashi.
On Sat, Oct 30, 2021 at 12:01:03PM +0200, Takashi Iwai wrote:
Could you give more descriptions? The patch isn't trivial at all, and it needs more explanations.
Yes, will do.
/* output mute is set via SET_COEF_INDEX,SET_PROC_COEF */
spec->mute_led_polarity = 0;
spec->mute_led_coef.idx = 0x0b;
spec->mute_led_coef.mask = 0xffff;
spec->mute_led_coef.on = 0xa02f;
spec->mute_led_coef.off = 0x7774;
snd_hda_gen_add_mute_led_cdev(codec, coef_mute_led_set);
I guess this COEF isn't only about mute-LED but actually does mute the output? IIRC, the bit 0x08 corresponds to the LED. If so, it's better to split. Basically this snd_hda_gen_add_mute_led_cdev() and mute_led_coef stuff are only for the mute LED control. e.g. you can change the mute LED independently via sysfs.
Thanks for suggesting this.
Having tested, I can confirm that setting this coef only affects the output mute LED, and does not affect output.
I will therefore assume that current implementation in my patch is OK, but let me know if it still needs changing (maybe I've misunderstood).
For reference to other users, the commands to test are: # output LED on hda-verb /dev/snd/hwC0D0 0x20 SET_COEF_INDEX 0x0b hda-verb /dev/snd/hwC0D0 0x20 SET_PROC_COEF 0xa02f
# output LED off hda-verb /dev/snd/hwC0D0 0x20 SET_COEF_INDEX 0x0b hda-verb /dev/snd/hwC0D0 0x20 SET_PROC_COEF 0x7774
Many thanks, Jonathan