diff --git a/src/add-ons/kernel/drivers/audio/hda/driver.cpp b/src/add-ons/kernel/drivers/audio/hda/driver.cpp index 1faf4691fc..02cabb158b 100644 --- a/src/add-ons/kernel/drivers/audio/hda/driver.cpp +++ b/src/add-ons/kernel/drivers/audio/hda/driver.cpp @@ -61,10 +61,11 @@ init_driver(void) sprintf(path, DEVFS_PATH_FORMAT, gNumCards); gCards[gNumCards++].devfs_path = strdup(path); - dprintf("HDA: Detected controller @ PCI:%d:%d:%d, IRQ:%d, type %04x/%04x\n", + dprintf("HDA: Detected controller @ PCI:%d:%d:%d, IRQ:%d, type %04x/%04x (%04x/%04x)\n", info.bus, info.device, info.function, info.u.h0.interrupt_line, - info.vendor_id, info.device_id); + info.vendor_id, info.device_id, + info.u.h0.subsystem_vendor_id, info.u.h0.subsystem_id); } } diff --git a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp index 638c1f4246..5268ad37ae 100644 --- a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp +++ b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp @@ -615,6 +615,11 @@ hda_codec_parse_audio_group(hda_audio_group* audioGroup) } break; + case WT_VOLUME_KNOB: + verbs[0] = MAKE_VERB(audioGroup->codec->addr, nodeID, + VID_SET_VOLUME_KNOB_CONTROL, 0x0); + hda_send_verbs(audioGroup->codec, verbs, NULL, 1); + break; default: break; } diff --git a/src/add-ons/kernel/drivers/audio/hda/hda_codec_defs.h b/src/add-ons/kernel/drivers/audio/hda/hda_codec_defs.h index 7fd32b1d82..139f4b7deb 100644 --- a/src/add-ons/kernel/drivers/audio/hda/hda_codec_defs.h +++ b/src/add-ons/kernel/drivers/audio/hda/hda_codec_defs.h @@ -84,6 +84,8 @@ enum pin_dev_type { #define VID_SET_PINSENSE 0x70900 #define VID_GET_EAPDBTL_EN 0xF0C00 #define VID_SET_EAPDBTL_EN 0x70C00 +#define VID_GET_VOLUME_KNOB_CONTROL 0xF0F00 +#define VID_SET_VOLUME_KNOB_CONTROL 0x70F00 #define VID_GET_GPIDATA 0xF1000 #define VID_SET_GPIDATA 0x71000 #define VID_GET_GPIWAKE_EN 0xF1100