* add set volume knob control

* display subsystem vendor and device id


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29184 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2009-02-11 20:43:40 +00:00
parent e7d577748b
commit 8f7c075428
3 changed files with 10 additions and 2 deletions
@@ -61,10 +61,11 @@ init_driver(void)
sprintf(path, DEVFS_PATH_FORMAT, gNumCards); sprintf(path, DEVFS_PATH_FORMAT, gNumCards);
gCards[gNumCards++].devfs_path = strdup(path); 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.bus, info.device, info.function,
info.u.h0.interrupt_line, 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);
} }
} }
@@ -615,6 +615,11 @@ hda_codec_parse_audio_group(hda_audio_group* audioGroup)
} }
break; 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: default:
break; break;
} }
@@ -84,6 +84,8 @@ enum pin_dev_type {
#define VID_SET_PINSENSE 0x70900 #define VID_SET_PINSENSE 0x70900
#define VID_GET_EAPDBTL_EN 0xF0C00 #define VID_GET_EAPDBTL_EN 0xF0C00
#define VID_SET_EAPDBTL_EN 0x70C00 #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_GET_GPIDATA 0xF1000
#define VID_SET_GPIDATA 0x71000 #define VID_SET_GPIDATA 0x71000
#define VID_GET_GPIWAKE_EN 0xF1100 #define VID_GET_GPIWAKE_EN 0xF1100