cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ideapad_s740_helper.c (19734B)


      1// SPDX-License-Identifier: GPL-2.0
      2/* Fixes for Lenovo Ideapad S740, to be included from codec driver */
      3
      4static const struct hda_verb alc285_ideapad_s740_coefs[] = {
      5{ 0x20, AC_VERB_SET_COEF_INDEX, 0x10 },
      6{ 0x20, AC_VERB_SET_PROC_COEF, 0x0320 },
      7{ 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
      8{ 0x20, AC_VERB_SET_PROC_COEF, 0x0041 },
      9{ 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
     10{ 0x20, AC_VERB_SET_PROC_COEF, 0x0041 },
     11{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     12{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     13{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     14{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     15{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     16{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     17{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     18{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     19{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     20{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     21{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     22{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     23{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     24{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     25{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     26{ 0x20, AC_VERB_SET_PROC_COEF, 0x007f },
     27{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     28{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     29{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     30{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     31{ 0x20, AC_VERB_SET_PROC_COEF, 0x007f },
     32{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     33{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     34{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     35{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     36{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     37{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     38{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
     39{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     40{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
     41{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     42{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     43{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
     44{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     45{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
     46{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     47{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     48{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     49{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     50{ 0x20, AC_VERB_SET_PROC_COEF, 0x003c },
     51{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     52{ 0x20, AC_VERB_SET_PROC_COEF, 0x0011 },
     53{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     54{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     55{ 0x20, AC_VERB_SET_PROC_COEF, 0x003c },
     56{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     57{ 0x20, AC_VERB_SET_PROC_COEF, 0x0011 },
     58{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     59{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     60{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     61{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     62{ 0x20, AC_VERB_SET_PROC_COEF, 0x000c },
     63{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     64{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
     65{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     66{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     67{ 0x20, AC_VERB_SET_PROC_COEF, 0x000c },
     68{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     69{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
     70{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     71{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     72{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     73{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     74{ 0x20, AC_VERB_SET_PROC_COEF, 0x000f },
     75{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     76{ 0x20, AC_VERB_SET_PROC_COEF, 0x0042 },
     77{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     78{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     79{ 0x20, AC_VERB_SET_PROC_COEF, 0x000f },
     80{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     81{ 0x20, AC_VERB_SET_PROC_COEF, 0x0042 },
     82{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     83{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     84{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     85{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     86{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
     87{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     88{ 0x20, AC_VERB_SET_PROC_COEF, 0x0040 },
     89{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     90{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     91{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
     92{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
     93{ 0x20, AC_VERB_SET_PROC_COEF, 0x0040 },
     94{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
     95{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     96{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
     97{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
     98{ 0x20, AC_VERB_SET_PROC_COEF, 0x0003 },
     99{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    100{ 0x20, AC_VERB_SET_PROC_COEF, 0x0009 },
    101{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    102{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    103{ 0x20, AC_VERB_SET_PROC_COEF, 0x0003 },
    104{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    105{ 0x20, AC_VERB_SET_PROC_COEF, 0x0009 },
    106{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    107{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    108{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    109{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    110{ 0x20, AC_VERB_SET_PROC_COEF, 0x001c },
    111{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    112{ 0x20, AC_VERB_SET_PROC_COEF, 0x004c },
    113{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    114{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    115{ 0x20, AC_VERB_SET_PROC_COEF, 0x001c },
    116{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    117{ 0x20, AC_VERB_SET_PROC_COEF, 0x004c },
    118{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    119{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    120{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    121{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    122{ 0x20, AC_VERB_SET_PROC_COEF, 0x001d },
    123{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    124{ 0x20, AC_VERB_SET_PROC_COEF, 0x004e },
    125{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    126{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    127{ 0x20, AC_VERB_SET_PROC_COEF, 0x001d },
    128{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    129{ 0x20, AC_VERB_SET_PROC_COEF, 0x004e },
    130{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    131{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    132{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    133{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    134{ 0x20, AC_VERB_SET_PROC_COEF, 0x001b },
    135{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    136{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    137{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    138{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    139{ 0x20, AC_VERB_SET_PROC_COEF, 0x001b },
    140{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    141{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    142{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    143{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    144{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    145{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    146{ 0x20, AC_VERB_SET_PROC_COEF, 0x0019 },
    147{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    148{ 0x20, AC_VERB_SET_PROC_COEF, 0x0025 },
    149{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    150{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    151{ 0x20, AC_VERB_SET_PROC_COEF, 0x0019 },
    152{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    153{ 0x20, AC_VERB_SET_PROC_COEF, 0x0025 },
    154{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    155{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    156{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    157{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    158{ 0x20, AC_VERB_SET_PROC_COEF, 0x0018 },
    159{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    160{ 0x20, AC_VERB_SET_PROC_COEF, 0x0037 },
    161{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    162{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    163{ 0x20, AC_VERB_SET_PROC_COEF, 0x0018 },
    164{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    165{ 0x20, AC_VERB_SET_PROC_COEF, 0x0037 },
    166{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    167{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    168{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    169{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    170{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
    171{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    172{ 0x20, AC_VERB_SET_PROC_COEF, 0x0040 },
    173{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    174{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    175{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
    176{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    177{ 0x20, AC_VERB_SET_PROC_COEF, 0x0040 },
    178{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    179{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    180{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    181{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    182{ 0x20, AC_VERB_SET_PROC_COEF, 0x0016 },
    183{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    184{ 0x20, AC_VERB_SET_PROC_COEF, 0x0076 },
    185{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    186{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    187{ 0x20, AC_VERB_SET_PROC_COEF, 0x0016 },
    188{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    189{ 0x20, AC_VERB_SET_PROC_COEF, 0x0076 },
    190{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    191{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    192{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    193{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    194{ 0x20, AC_VERB_SET_PROC_COEF, 0x0017 },
    195{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    196{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
    197{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    198{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    199{ 0x20, AC_VERB_SET_PROC_COEF, 0x0017 },
    200{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    201{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
    202{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    203{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    204{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    205{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    206{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    207{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    208{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    209{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    210{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    211{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    212{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    213{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    214{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    215{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    216{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    217{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    218{ 0x20, AC_VERB_SET_PROC_COEF, 0x0007 },
    219{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    220{ 0x20, AC_VERB_SET_PROC_COEF, 0x0086 },
    221{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    222{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    223{ 0x20, AC_VERB_SET_PROC_COEF, 0x0007 },
    224{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    225{ 0x20, AC_VERB_SET_PROC_COEF, 0x0086 },
    226{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    227{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    228{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    229{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    230{ 0x20, AC_VERB_SET_PROC_COEF, 0x0002 },
    231{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    232{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    233{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    234{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    235{ 0x20, AC_VERB_SET_PROC_COEF, 0x0002 },
    236{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    237{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    238{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    239{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    240{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    241{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    242{ 0x20, AC_VERB_SET_PROC_COEF, 0x0002 },
    243{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    244{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    245{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    246{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    247{ 0x20, AC_VERB_SET_PROC_COEF, 0x0002 },
    248{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    249{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    250{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    251{ 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
    252{ 0x20, AC_VERB_SET_PROC_COEF, 0x0042 },
    253{ 0x20, AC_VERB_SET_COEF_INDEX, 0x24 },
    254{ 0x20, AC_VERB_SET_PROC_COEF, 0x0042 },
    255{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    256{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    257{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    258{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    259{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    260{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    261{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    262{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    263{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    264{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    265{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    266{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    267{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    268{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    269{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    270{ 0x20, AC_VERB_SET_PROC_COEF, 0x007f },
    271{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    272{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    273{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    274{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    275{ 0x20, AC_VERB_SET_PROC_COEF, 0x007f },
    276{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    277{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    278{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    279{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    280{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    281{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    282{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    283{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    284{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    285{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    286{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    287{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    288{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    289{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    290{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    291{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    292{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    293{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    294{ 0x20, AC_VERB_SET_PROC_COEF, 0x003c },
    295{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    296{ 0x20, AC_VERB_SET_PROC_COEF, 0x0011 },
    297{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    298{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    299{ 0x20, AC_VERB_SET_PROC_COEF, 0x003c },
    300{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    301{ 0x20, AC_VERB_SET_PROC_COEF, 0x0011 },
    302{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    303{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    304{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    305{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    306{ 0x20, AC_VERB_SET_PROC_COEF, 0x000c },
    307{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    308{ 0x20, AC_VERB_SET_PROC_COEF, 0x002a },
    309{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    310{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    311{ 0x20, AC_VERB_SET_PROC_COEF, 0x000c },
    312{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    313{ 0x20, AC_VERB_SET_PROC_COEF, 0x002a },
    314{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    315{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    316{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    317{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    318{ 0x20, AC_VERB_SET_PROC_COEF, 0x000f },
    319{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    320{ 0x20, AC_VERB_SET_PROC_COEF, 0x0046 },
    321{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    322{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    323{ 0x20, AC_VERB_SET_PROC_COEF, 0x000f },
    324{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    325{ 0x20, AC_VERB_SET_PROC_COEF, 0x0046 },
    326{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    327{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    328{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    329{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    330{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
    331{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    332{ 0x20, AC_VERB_SET_PROC_COEF, 0x0044 },
    333{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    334{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    335{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
    336{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    337{ 0x20, AC_VERB_SET_PROC_COEF, 0x0044 },
    338{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    339{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    340{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    341{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    342{ 0x20, AC_VERB_SET_PROC_COEF, 0x0003 },
    343{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    344{ 0x20, AC_VERB_SET_PROC_COEF, 0x0009 },
    345{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    346{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    347{ 0x20, AC_VERB_SET_PROC_COEF, 0x0003 },
    348{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    349{ 0x20, AC_VERB_SET_PROC_COEF, 0x0009 },
    350{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    351{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    352{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    353{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    354{ 0x20, AC_VERB_SET_PROC_COEF, 0x001c },
    355{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    356{ 0x20, AC_VERB_SET_PROC_COEF, 0x004c },
    357{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    358{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    359{ 0x20, AC_VERB_SET_PROC_COEF, 0x001c },
    360{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    361{ 0x20, AC_VERB_SET_PROC_COEF, 0x004c },
    362{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    363{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    364{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    365{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    366{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    367{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    368{ 0x20, AC_VERB_SET_PROC_COEF, 0x001b },
    369{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    370{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    371{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    372{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    373{ 0x20, AC_VERB_SET_PROC_COEF, 0x001b },
    374{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    375{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    376{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    377{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    378{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    379{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    380{ 0x20, AC_VERB_SET_PROC_COEF, 0x0019 },
    381{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    382{ 0x20, AC_VERB_SET_PROC_COEF, 0x0025 },
    383{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    384{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    385{ 0x20, AC_VERB_SET_PROC_COEF, 0x0019 },
    386{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    387{ 0x20, AC_VERB_SET_PROC_COEF, 0x0025 },
    388{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    389{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    390{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    391{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    392{ 0x20, AC_VERB_SET_PROC_COEF, 0x0018 },
    393{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    394{ 0x20, AC_VERB_SET_PROC_COEF, 0x0037 },
    395{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    396{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    397{ 0x20, AC_VERB_SET_PROC_COEF, 0x0018 },
    398{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    399{ 0x20, AC_VERB_SET_PROC_COEF, 0x0037 },
    400{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    401{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    402{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    403{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    404{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
    405{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    406{ 0x20, AC_VERB_SET_PROC_COEF, 0x0040 },
    407{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    408{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    409{ 0x20, AC_VERB_SET_PROC_COEF, 0x001a },
    410{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    411{ 0x20, AC_VERB_SET_PROC_COEF, 0x0040 },
    412{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    413{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    414{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    415{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    416{ 0x20, AC_VERB_SET_PROC_COEF, 0x0016 },
    417{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    418{ 0x20, AC_VERB_SET_PROC_COEF, 0x0076 },
    419{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    420{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    421{ 0x20, AC_VERB_SET_PROC_COEF, 0x0016 },
    422{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    423{ 0x20, AC_VERB_SET_PROC_COEF, 0x0076 },
    424{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    425{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    426{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    427{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    428{ 0x20, AC_VERB_SET_PROC_COEF, 0x0017 },
    429{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    430{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
    431{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    432{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    433{ 0x20, AC_VERB_SET_PROC_COEF, 0x0017 },
    434{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    435{ 0x20, AC_VERB_SET_PROC_COEF, 0x0010 },
    436{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    437{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    438{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    439{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    440{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    441{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    442{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    443{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    444{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    445{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    446{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    447{ 0x20, AC_VERB_SET_PROC_COEF, 0x0015 },
    448{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    449{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    450{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    451{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    452{ 0x20, AC_VERB_SET_PROC_COEF, 0x0007 },
    453{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    454{ 0x20, AC_VERB_SET_PROC_COEF, 0x0086 },
    455{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    456{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    457{ 0x20, AC_VERB_SET_PROC_COEF, 0x0007 },
    458{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    459{ 0x20, AC_VERB_SET_PROC_COEF, 0x0086 },
    460{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    461{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    462{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    463{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    464{ 0x20, AC_VERB_SET_PROC_COEF, 0x0002 },
    465{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    466{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    467{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    468{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    469{ 0x20, AC_VERB_SET_PROC_COEF, 0x0002 },
    470{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    471{ 0x20, AC_VERB_SET_PROC_COEF, 0x0001 },
    472{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    473{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    474{ 0x20, AC_VERB_SET_COEF_INDEX, 0x29 },
    475{ 0x20, AC_VERB_SET_COEF_INDEX, 0x26 },
    476{ 0x20, AC_VERB_SET_PROC_COEF, 0x0002 },
    477{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    478{ 0x20, AC_VERB_SET_PROC_COEF, 0x0000 },
    479{ 0x20, AC_VERB_SET_PROC_COEF, 0xb020 },
    480{}
    481};
    482
    483static void alc285_fixup_ideapad_s740_coef(struct hda_codec *codec,
    484					   const struct hda_fixup *fix,
    485					   int action)
    486{
    487	switch (action) {
    488	case HDA_FIXUP_ACT_PRE_PROBE:
    489		snd_hda_add_verbs(codec, alc285_ideapad_s740_coefs);
    490		break;
    491	}
    492}