35#ifdef HAVE_KERNEL_OPTION_HEADERS
156 if (vendor_id != p->
id)
161 return (pp->pin_patches);
172 const char *patch_str = NULL;
199 config &= ~HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK;
220 config &= ~HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK;
231 patch_str =
"as=1 seq=15";
234 patch_str =
"as=2 seq=15";
243 patch_str =
"as=1 seq=15";
246 patch_str =
"device=Line-in as=8 seq=1";
255 patch_str =
"as=8 seq=3";
258 patch_str =
"as=8 seq=4";
261 patch_str =
"as=8 seq=5";
264 patch_str =
"as=8 seq=6";
271 patch_str =
"as=1 seq=15";
278 patch_str =
"as=1 seq=15";
281 patch_str =
"as=1 seq=0";
292 patch_str =
"as=1 seq=15";
299 patch_str =
"as=2 seq=15";
309 patch_str =
"as=1 seq=0";
312 patch_str =
"as=1 seq=15";
319 patch_str =
"as=1 seq=0";
322 patch_str =
"as=1 seq=15";
329 patch_str =
"as=1 seq=15 color=Black loc=Left";
340 if (pin_patches != NULL) {
343 switch (
patch->type) {
345 patch_str =
patch->patch.string;
348 config &= ~patch->patch.mask[0];
364 if (patch_str != NULL)
369 "Patching pin config nid=%u 0x%08x -> 0x%08x\n",
405 if (w->
nid == beeper) {
420 device_printf(w->devinfo->dev,
421 "Patching widget caps nid=%u 0x%08x -> 0x%08x\n",
422 w->nid, orig, w->param.widget_cap);
455 for (i =
devinfo->startnode; i < devinfo->endnode; i++) {
553 if (w != NULL && w->
type ==
598 if (subid == 0x84371043) {
670 uint32_t
id, subid,
val;
694 if (subid == 0xd9781462) {
708 if (subid == 0x16e31043 || subid == 0x831a1043 ||
709 subid == 0x834a1043 || subid == 0x83981043 ||
710 subid == 0x83ce1043) {
720 if (subid == 0x15171043) {
#define HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX
#define HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_SHIFT
#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_NONE
#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK
#define HDA_PARAM_OUTPUT_AMP_CAP_STEPSIZE_SHIFT
#define HDA_CONFIG_DEFAULTCONF_DEVICE_MASK
#define HDA_CONFIG_DEFAULTCONF_DEVICE_CD
#define HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_BEEP_WIDGET
#define HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_FIXED
#define HDA_CONFIG_DEFAULTCONF_DEVICE_MIC_IN
#define HDA_CMD_GET_PROCESSING_COEFF(cad, nid)
#define HDA_CMD_SET_COEFF_INDEX(cad, nid, payload)
#define HDA_PARAM_OUTPUT_AMP_CAP_OFFSET_SHIFT
#define HDA_CMD_SET_PROCESSING_COEFF(cad, nid, payload)
#define HDA_PARAM_OUTPUT_AMP_CAP_NUMSTEPS_SHIFT
#define HDA_CMD_12BIT(cad, nid, verb, payload)
uint32_t hdaa_widget_pin_patch(uint32_t config, const char *str)
struct hdaa_widget * hdaa_widget_get(struct hdaa_devinfo *devinfo, nid_t nid)
#define HDAA_QUIRK_IVREF80
#define HDAA_QUIRK_FORCESTEREO
#define HDAA_QUIRK_EAPDINV
#define hdaa_codec_id(devinfo)
#define hdaa_card_id(devinfo)
#define HDAA_QUIRK_IVREF100
#define HDAA_QUIRK_OVREF50
#define HDAA_QUIRK_IVREF50
#define HDAA_QUIRK_SENSEINV
static const struct @15 hdac_quirks[]
void hdaa_patch_direct(struct hdaa_devinfo *devinfo)
static void hdac_pin_patch(struct hdaa_widget *w)
static struct pin_patch_t * match_pin_patches(int vendor_id, int vendor_subid)
static uint32_t hdaa_write_coef(device_t dev, nid_t nid, uint16_t idx, uint16_t val)
static uint32_t hdaa_read_coef(device_t dev, nid_t nid, uint16_t idx)
void hdaa_patch(struct hdaa_devinfo *devinfo)
SND_DECLARE_FILE("$FreeBSD$")
static void hdaa_widget_patch(struct hdaa_widget *w)
#define LENOVO_G580_SUBVENDOR
#define HP_V3000_SUBVENDOR
#define HDA_CODEC_CX20561
#define SAMSUNG_Q1_SUBVENDOR
#define HDA_CODEC_CX20582
#define ACER_ALL_SUBVENDOR
#define LENOVO_B450_SUBVENDOR
#define ASUS_M5200_SUBVENDOR
#define DELL_I7577_SUBVENDOR
#define DELL_V1400_SUBVENDOR
#define HDA_CODEC_AD1984A
#define HP_DV5000_SUBVENDOR
#define DELL_V1500_SUBVENDOR
#define HDA_CODEC_AD1984B
#define LENOVO_L5AMD_SUBVENDOR
#define HDA_INTEL_MACBOOKPRO92
#define HDA_CODEC_VT1708S_2
#define ASUS_A8NVMCSM_SUBVENDOR
#define ASUS_W2J_SUBVENDOR
#define HDA_CODEC_AD1989B
#define UNIWILL_9075_SUBVENDOR
#define HDA_CODEC_AD1986A
#define LENOVO_X1_SUBVENDOR
#define LENOVO_T520_SUBVENDOR
#define DELL_L7480_SUBVENDOR
#define FRAMEWORK_LAPTOP_SUBVENDOR
#define ASUS_F3JC_SUBVENDOR
#define HDA_CODEC_VT1708S_1
#define APPLE_MACBOOKPRO71
#define ASUS_M2NPVMX_SUBVENDOR
#define HDA_CODEC_AD1988B
#define HDA_CODEC_ALC1150
#define HDA_CODEC_CX20583
#define ASUS_G2K_SUBVENDOR
#define HDA_CODEC_STAC9221
#define HDA_CODEC_IDT92HD95B
#define LENOVO_T400_SUBVENDOR
#define APPLE_MB3_SUBVENDOR
#define HDA_CODEC_VT1708S_5
#define ASUS_P5PL2_SUBVENDOR
#define ASUS_U5F_SUBVENDOR
#define HDA_DEV_MATCH(fl, v)
#define LENOVO_X220_SUBVENDOR
#define ASUS_A8X_SUBVENDOR
#define HDA_CODEC_VT1708S_6
#define HDA_CODEC_VT1708S_0
#define APPLE_MACBOOKPRO55
#define LENOVO_3KN100_SUBVENDOR
#define ASUS_A7M_SUBVENDOR
#define ASUS_A7T_SUBVENDOR
#define HDA_CODEC_VT1708S_4
#define MEDION_MD95257_SUBVENDOR
#define LENOVO_X300_SUBVENDOR
#define HDA_CODEC_STAC9228X
#define HDA_CODEC_AD1981HD
#define HDA_CODEC_VT1818S
#define LENOVO_T420_SUBVENDOR
#define hda_command(dev, verb)
#define HDA_CODEC_CX20584
#define HDA_CODEC_CX20585
#define HDA_CODEC_VT1708S_7
#define HDA_CODEC_CX20551
#define HDA_CODEC_STAC9205X
#define DELL_D630_SUBVENDOR
#define HDA_CODEC_CX20549
#define HDA_CODEC_CX20590
#define APPLE_MACBOOKAIR31
#define HDA_BOOTVERBOSE(stmt)
#define HDA_CODEC_VT1708S_3
const struct nvlist * config
@ PIN_PATCH_TYPE_OVERRIDE
static struct hdaa_model_pin_patch_t realtek_model_pin_patches[]
struct model_pin_patch_t * patches
struct pin_machine_model_t * models
union pin_patch_t::@22 patch