linux/sound/pci/hda/ideapad_s740_helper.c
<<
>>
Prefs
   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}
 493