kern/148741: commit references a PR
dfilter service
dfilter at FreeBSD.ORG
Wed Dec 26 19:00:01 UTC 2012
The following reply was made to PR kern/148741; it has been noted by GNATS.
From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/148741: commit references a PR
Date: Wed, 26 Dec 2012 18:51:46 +0000 (UTC)
Author: mav
Date: Wed Dec 26 18:51:37 2012
New Revision: 244713
URL: http://svnweb.freebsd.org/changeset/base/244713
Log:
MFC r244145:
Add quirks for AD1984A codec and Lenovo X300 laptop.
PR: kern/148741
Modified:
stable/8/sys/dev/sound/pci/hda/hdaa_patches.c
stable/8/sys/dev/sound/pci/hda/hdac.h
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/dev/ (props changed)
stable/8/sys/dev/sound/ (props changed)
stable/8/sys/dev/sound/pci/ (props changed)
Modified: stable/8/sys/dev/sound/pci/hda/hdaa_patches.c
==============================================================================
--- stable/8/sys/dev/sound/pci/hda/hdaa_patches.c Wed Dec 26 18:50:03 2012 (r244712)
+++ stable/8/sys/dev/sound/pci/hda/hdaa_patches.c Wed Dec 26 18:51:37 2012 (r244713)
@@ -271,7 +271,17 @@ hdac_pin_patch(struct hdaa_widget *w)
}
/* New patches */
- if (id == HDA_CODEC_AD1986A &&
+ if (id == HDA_CODEC_AD1984A &&
+ subid == LENOVO_X300_SUBVENDOR) {
+ switch (nid) {
+ case 17: /* Headphones with redirection */
+ patch = "as=1 seq=15";
+ break;
+ case 20: /* Two mics together */
+ patch = "as=2 seq=15";
+ break;
+ }
+ } else if (id == HDA_CODEC_AD1986A &&
(subid == ASUS_M2NPVMX_SUBVENDOR ||
subid == ASUS_A8NVMCSM_SUBVENDOR ||
subid == ASUS_P5PL2_SUBVENDOR)) {
@@ -372,6 +382,13 @@ hdaa_widget_patch(struct hdaa_widget *w)
HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_SHIFT;
w->waspin = 1;
}
+ /*
+ * Clear "digital" flag from digital mic input, as its signal then goes
+ * to "analog" mixer and this separation just limits functionaity.
+ */
+ if (hdaa_codec_id(devinfo) == HDA_CODEC_AD1984A &&
+ w->nid == 23)
+ w->param.widget_cap &= ~HDA_PARAM_AUDIO_WIDGET_CAP_DIGITAL_MASK;
HDA_BOOTVERBOSE(
if (w->param.widget_cap != orig) {
device_printf(w->devinfo->dev,
Modified: stable/8/sys/dev/sound/pci/hda/hdac.h
==============================================================================
--- stable/8/sys/dev/sound/pci/hda/hdac.h Wed Dec 26 18:50:03 2012 (r244712)
+++ stable/8/sys/dev/sound/pci/hda/hdac.h Wed Dec 26 18:51:37 2012 (r244713)
@@ -218,6 +218,7 @@
#define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
#define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d)
#define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015)
+#define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
#define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
/* Samsung */
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
More information about the freebsd-multimedia
mailing list