sound/hda/codecs/helpers/ideapad_s740.c

Source file repositories/reference/linux-study-clean/sound/hda/codecs/helpers/ideapad_s740.c

File Facts

System
Linux kernel
Corpus path
sound/hda/codecs/helpers/ideapad_s740.c
Extension
.c
Size
19734 bytes
Lines
493
Domain
Driver Families
Bucket
sound/hda
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0
/* Fixes for Lenovo Ideapad S740, to be included from codec driver */

static const struct hda_verb alc285_ideapad_s740_coefs[] = {
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x10 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0320 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0041 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0041 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x007f },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x007f },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x003c },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0011 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x003c },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0011 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x000c },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x000c },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x000f },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0042 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x000f },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0042 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x0040 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },

Annotation

Implementation Notes