At Wed, 28 Jul 2010 17:35:10 +0200, I wrote:
At Wed, 28 Jul 2010 16:49:03 +0200, Mario 'BitKoenig' Holbe wrote:
Hello,
My PC-Speaker Beep control worked in 2.6.34, but is gone in 2.6.35-rc6. The sound device is an Asus P5E-V HDMI (Intel G35) onboard Intel HDA w/ Realtek ALC883 codec.
The driver does still register a PCBeep input, but the Controls as well as the sound (:)) are gone.
HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 HDA Intel 0000:00:1b.0: irq 47 for MSI/MSI-X HDA Intel 0000:00:1b.0: setting latency timer to 64 input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input5
$ diff card0-codec#0-2.6.34 card0-codec#0-2.6.35-rc6 111,114d110 < Control: name="Beep Playback Volume", index=0, device=0 < ControlAmp: chs=3, dir=In, idx=5, ofs=0 < Control: name="Beep Playback Switch", index=0, device=0 < ControlAmp: chs=3, dir=In, idx=5, ofs=0
Attached /proc/asound/card0/codec#0 from 2.6.35-rc6.
It's because now the driver checks the SSID your board sets up. Realtek codecs suppose SSID containing some useful bits to inform the h/w setups. The presence of PC beep is one of it. So, it's actually BIOS that clears it.
In the earlier version, the driver didn't check this.
Actually, the real bug is that it still creates a beep device without mixers. This should be avoided...
Or, does the following patch fix? It's already in sound git tree,
Takashi
--- diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index d7fd846..9295527 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -1267,11 +1267,11 @@ static int alc_auto_parse_customize_define(struct hda_codec *codec) unsigned nid = 0; struct alc_spec *spec = codec->spec;
+ spec->cdefine.enable_pcbeep = 1; /* assume always enabled */ + ass = codec->subsystem_id & 0xffff; - if (ass != codec->bus->pci->subsystem_device && (ass & 1)) { - spec->cdefine.enable_pcbeep = 1; /* assume always enabled */ + if (ass != codec->bus->pci->subsystem_device && (ass & 1)) goto do_sku; - }
nid = 0x1d; if (codec->vendor_id == 0x10ec0260)