[alsa-devel] [PATCH 0/4] ALSA: hda beep clean up

Takashi Iwai tiwai at suse.de
Wed Jul 4 09:46:20 CEST 2012


At Wed, 04 Jul 2012 09:43:23 +0200,
Jaroslav Kysela wrote:
> 
> Date 4.7.2012 07:16, Takashi Iwai wrote:
> > At Tue, 03 Jul 2012 22:01:45 +0200,
> > Jaroslav Kysela wrote:
> >>
> >> Date 3.7.2012 18:31, Jaroslav Kysela wrote:
> >>> Date 3.7.2012 18:03, Takashi Iwai wrote:
> >>>> Hi,
> >>>>
> >>>> this is a series of small cleanups of HD-audio beep code.
> >>>> Since the keyboard driver already handles the simultaneous outputs
> >>>> from the multiple input beep instances, there is no merit to have
> >>>> beep_mode=2 option to switch the beep input device.
> >>>
> >>> Acked-by: Jaroslav Kysela <perex at perex.cz>
> >>
> >> While I acked this, I vaguely remember now, that the event duplication
> >> (simultaneous outputs) caused some issues on some Lenovo notebooks.
> >>
> >> When the pcspkr and HDA beep generator is connected to the same output
> >> (integrated speakers), it may cause some issues (bad beep quality -
> >> frequency etc.).
> >>
> >> I looked to the input code, and the kd_mksound() calls
> >> input_handler_for_each_handle(), thus the event is duplicated to all
> >> beep generators, right?
> > 
> > Right.
> > 
> >> The beep_mode=2 was introduced to let users to help with this issue with
> >> a comfortable way.
> > 
> > Not really.  At the time this was introduced, the keyboard driver took
> > only a single input handle exclusively, namely only the last
> > registered one.  Thus playing on both had never happened until
> > recently.
> 
> OK, thanks for the clarification. The question is, if it's the desired
> behaviour. Multiple outs can cause some harmonic effects. It would be
> nice, if the input layer can turn on/off (filter) the beep events at
> runtime separately for all registered drivers. The setup can be handled
> using sysfs or so..

Yeah, it's an issue in the input layer, or maybe specific to keyboard
driver.  It should be relatively easy to implement.

Meanwhile, you can simply mute "Beep" volume.  That is effectively as
same as deregistering the HD-audio input handle.  The beep code in
HD-audio driver doesn't emit the verb any longer when it's muted.

Getting rid of the system beep is another question.  But it could be
done via setterm or whatever, too.



Takashi


More information about the Alsa-devel mailing list