summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorariff <ariff@FreeBSD.org>2007-12-13 15:48:45 +0000
committerariff <ariff@FreeBSD.org>2007-12-13 15:48:45 +0000
commitebfb37b283a298d5d7cf2a05d7ed00eda7fb87cf (patch)
tree7023960ac883e60a5efb5bf6caa64267ff4ed152
parentcb78c6c574e83859b6fe44b6c3de3c05e1600431 (diff)
downloadFreeBSD-src-ebfb37b283a298d5d7cf2a05d7ed00eda7fb87cf.zip
FreeBSD-src-ebfb37b283a298d5d7cf2a05d7ed00eda7fb87cf.tar.gz
Add speaker/headphone controls for HP Compaq DC7700 Small Form Factor PC
@ ALC262. Submitted by: Carlos A. M. dos Santos <unixmania at gmail dot com>
-rw-r--r--sys/dev/sound/pci/hda/hdac.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index c9e68e5..a09df97 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -179,6 +179,7 @@ SND_DECLARE_FILE("$FreeBSD$");
#define HP_XW4300_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3013)
#define HP_3010_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3010)
#define HP_DV5000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a5)
+#define HP_DC7700S_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2801)
#define HP_DC7700_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2802)
#define HP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0xffff)
/* What is wrong with XN 2563 anyway? (Got the picture ?) */
@@ -4304,7 +4305,18 @@ hdac_vendor_patch_parse(struct hdac_devinfo *devinfo)
}
break;
case HDA_CODEC_ALC262:
- if (subvendor == HP_DC7700_SUBVENDOR) {
+ if (subvendor == HP_DC7700S_SUBVENDOR) {
+ ctl = hdac_audio_ctl_amp_get(devinfo, 21, 0, 1);
+ if (ctl != NULL && ctl->widget != NULL) {
+ ctl->ossmask = SOUND_MASK_PHONEOUT;
+ ctl->widget->ctlflags |= SOUND_MASK_PHONEOUT;
+ }
+ ctl = hdac_audio_ctl_amp_get(devinfo, 22, 0, 1);
+ if (ctl != NULL && ctl->widget != NULL) {
+ ctl->ossmask = SOUND_MASK_SPEAKER;
+ ctl->widget->ctlflags |= SOUND_MASK_SPEAKER;
+ }
+ } else if (subvendor == HP_DC7700_SUBVENDOR) {
ctl = hdac_audio_ctl_amp_get(devinfo, 22, 0, 1);
if (ctl != NULL && ctl->widget != NULL) {
ctl->ossmask = SOUND_MASK_SPEAKER;
OpenPOWER on IntegriCloud