diff options
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 2405f8418a70..883e2aa10071 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -5481,8 +5481,6 @@ again: | |||
| 5481 | } | 5481 | } |
| 5482 | break; | 5482 | break; |
| 5483 | case 0x111d7608: /* 5 Port with Analog Mixer */ | 5483 | case 0x111d7608: /* 5 Port with Analog Mixer */ |
| 5484 | memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, | ||
| 5485 | sizeof(stac92hd71bxx_dmux_amixer)); | ||
| 5486 | spec->private_dimux.num_items--; | 5484 | spec->private_dimux.num_items--; |
| 5487 | switch (spec->board_config) { | 5485 | switch (spec->board_config) { |
| 5488 | case STAC_HP_M4: | 5486 | case STAC_HP_M4: |
| @@ -5505,9 +5503,15 @@ again: | |||
| 5505 | 5503 | ||
| 5506 | /* no output amps */ | 5504 | /* no output amps */ |
| 5507 | spec->num_pwrs = 0; | 5505 | spec->num_pwrs = 0; |
| 5508 | if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) | 5506 | if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) { |
| 5509 | spec->mixer = stac92hd71bxx_analog_mixer; | 5507 | spec->mixer = stac92hd71bxx_analog_mixer; |
| 5510 | 5508 | memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, | |
| 5509 | sizeof(stac92hd71bxx_dmux_amixer)); | ||
| 5510 | } else { | ||
| 5511 | memcpy(&spec->private_dimux, | ||
| 5512 | &stac92hd71bxx_dmux_nomixer, | ||
| 5513 | sizeof(stac92hd71bxx_dmux_nomixer)); | ||
| 5514 | } | ||
| 5511 | /* disable VSW */ | 5515 | /* disable VSW */ |
| 5512 | spec->init = stac92hd71bxx_core_init; | 5516 | spec->init = stac92hd71bxx_core_init; |
| 5513 | unmute_init++; | 5517 | unmute_init++; |
| @@ -5531,10 +5535,15 @@ again: | |||
| 5531 | spec->num_pwrs = 0; | 5535 | spec->num_pwrs = 0; |
| 5532 | /* fallthru */ | 5536 | /* fallthru */ |
| 5533 | default: | 5537 | default: |
| 5534 | memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, | 5538 | if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) { |
| 5535 | sizeof(stac92hd71bxx_dmux_amixer)); | ||
| 5536 | if (snd_hda_get_bool_hint(codec, "analog_mixer") == 1) | ||
| 5537 | spec->mixer = stac92hd71bxx_analog_mixer; | 5539 | spec->mixer = stac92hd71bxx_analog_mixer; |
| 5540 | memcpy(&spec->private_dimux, &stac92hd71bxx_dmux_amixer, | ||
| 5541 | sizeof(stac92hd71bxx_dmux_amixer)); | ||
| 5542 | } else { | ||
| 5543 | memcpy(&spec->private_dimux, | ||
| 5544 | &stac92hd71bxx_dmux_nomixer, | ||
| 5545 | sizeof(stac92hd71bxx_dmux_nomixer)); | ||
| 5546 | } | ||
| 5538 | spec->init = stac92hd71bxx_core_init; | 5547 | spec->init = stac92hd71bxx_core_init; |
| 5539 | codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; | 5548 | codec->slave_dig_outs = stac92hd71bxx_slave_dig_outs; |
| 5540 | spec->num_dmics = stac92hd71bxx_connected_ports(codec, | 5549 | spec->num_dmics = stac92hd71bxx_connected_ports(codec, |
