提交 091bf4dc 编写于 作者: V Ville Syrjala 提交者: Jaroslav Kysela

[ALSA] maestro3: HP OmniBook HW volume button magic

Maestro3 driver
Some HP OmniBook laptops (500 and 6000 at least) require some GPIO magic
before the HW volume buttons work. This patch makes them work mostly.
Something is still missing to make them work perfectly. However I have been
unable to figure out what exactly.
Signed-off-by: NVille Syrjala <syrjala@sci.fi>
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 db68d15d
......@@ -2392,6 +2392,18 @@ snd_m3_chip_init(m3_t *chip)
DISABLE_LEGACY);
pci_write_config_word(pcidev, PCI_LEGACY_AUDIO_CTRL, w);
/*
* Volume buttons on some HP OmniBook laptops (500 and 6000 at least)
* don't work correctly. This makes them work for the most part.
* Volume up and down buttons on the laptop side work perfectly.
* Fn+cursor_up (volme up) works, Fn+cursor_down (volume down) doesn't,
* Fn+F8 (mute) works acts as volume up.
*/
outw(~(GPI_VOL_DOWN|GPI_VOL_UP), io + GPIO_MASK);
outw(inw(io + GPIO_DIRECTION) & ~(GPI_VOL_DOWN|GPI_VOL_UP), io + GPIO_DIRECTION);
outw((GPI_VOL_DOWN|GPI_VOL_UP), io + GPIO_DATA);
outw(0xffff, io + GPIO_MASK);
pci_read_config_dword(pcidev, PCI_ALLEGRO_CONFIG, &n);
n &= ~HV_BUTTON_FROM_GD;
n |= HV_CTRL_ENABLE | REDUCED_DEBOUNCE;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册