Commit d2e8e52976b9d0a34db529b06952d5187b78af8c

Authored by Deepika Makhija
Committed by Takashi Iwai
1 parent 7d2ac1036b

ALSA: oss - volume control for CSWITCH and CROUTE

Added an else part to check
SNDRV_MIXER_OSS_PRESENT_CVOLUME for MIC (slot 7)
in commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b

Similarly, checks and volume control is required for
SNDRV_MIXER_OSS_PRESENT_CSWITCH and SNDRV_MIXER_OSS_PRESENT_CROUTE
as well.

Signed-off-by: Deepika Makhija <deepika.makhija@einfochips.com>
Signed-off-by: Viral Mehta <viral.mehta@einfochips.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Showing 1 changed file with 8 additions and 0 deletions Side-by-side Diff

sound/core/oss/mixer_oss.c
... ... @@ -703,19 +703,27 @@
703 703 if (left || right) {
704 704 if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH)
705 705 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0);
  706 + if (slot->present & SNDRV_MIXER_OSS_PRESENT_CSWITCH)
  707 + snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CSWITCH], left, right, 0);
706 708 if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH)
707 709 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0);
708 710 if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE)
709 711 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1);
  712 + if (slot->present & SNDRV_MIXER_OSS_PRESENT_CROUTE)
  713 + snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CROUTE], left, right, 1);
710 714 if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE)
711 715 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1);
712 716 } else {
713 717 if (slot->present & SNDRV_MIXER_OSS_PRESENT_PSWITCH) {
714 718 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PSWITCH], left, right, 0);
  719 + } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CSWITCH) {
  720 + snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CSWITCH], left, right, 0);
715 721 } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GSWITCH) {
716 722 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GSWITCH], left, right, 0);
717 723 } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_PROUTE) {
718 724 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_PROUTE], left, right, 1);
  725 + } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_CROUTE) {
  726 + snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_CROUTE], left, right, 1);
719 727 } else if (slot->present & SNDRV_MIXER_OSS_PRESENT_GROUTE) {
720 728 snd_mixer_oss_put_volume1_sw(fmixer, pslot, slot->numid[SNDRV_MIXER_OSS_ITEM_GROUTE], left, right, 1);
721 729 }