Add quirks for AD1984A codec and Lenovo X300 laptop.
PR: kern/148741 MFC after: 2 weeks
This commit is contained in:
parent
2741efeca0
commit
ae84f236a9
@ -271,7 +271,17 @@ hdac_pin_patch(struct hdaa_widget *w)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* New patches */
|
/* 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_M2NPVMX_SUBVENDOR ||
|
||||||
subid == ASUS_A8NVMCSM_SUBVENDOR ||
|
subid == ASUS_A8NVMCSM_SUBVENDOR ||
|
||||||
subid == ASUS_P5PL2_SUBVENDOR)) {
|
subid == ASUS_P5PL2_SUBVENDOR)) {
|
||||||
@ -372,6 +382,13 @@ hdaa_widget_patch(struct hdaa_widget *w)
|
|||||||
HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_SHIFT;
|
HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_SHIFT;
|
||||||
w->waspin = 1;
|
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(
|
HDA_BOOTVERBOSE(
|
||||||
if (w->param.widget_cap != orig) {
|
if (w->param.widget_cap != orig) {
|
||||||
device_printf(w->devinfo->dev,
|
device_printf(w->devinfo->dev,
|
||||||
|
@ -218,6 +218,7 @@
|
|||||||
#define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
|
#define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
|
||||||
#define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d)
|
#define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d)
|
||||||
#define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015)
|
#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)
|
#define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
|
||||||
|
|
||||||
/* Samsung */
|
/* Samsung */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user