Re: [PATCH] snd-sbxfi: rename erroneous Master mixer control to "PCM Playback Volume".

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Sun, 19 Oct 2008 10:51:15 +0200,=?UTF-8?Q?Vedran_Mileti=C4=87?= wrote:> > Sorry to go off-topic, but there are lots of cards that don't have> Master control. Would this qualify as a bug?
No, it's no bug.  Such hardware has really no master volume controlin design.

Takashi
> > 2008/10/19 Takashi Iwai <tiwai@xxxxxxx>:> > At Sat, 18 Oct 2008 20:42:24 -0500,> > William Pitcock wrote:> >>> >> The OSS4-provided master mixer control is actually relative to EMU20K1 port> >> volume settings. So, it should be named PCM. The Master mixer control will be> >> shortly readded as a control which sets the master volume.> >>> >> Signed-off-by: William Pitcock <nenolod@xxxxxxxxxxxxxxxxxx>> >> > I postpone this until you send the Master control addition.> > Most apps requires Master control rather than PCM control, AFAIK.> >> >> > Takashi> >> >> ---> >>  sound/pci/sbxfi/sbxfi.c |   28 ++++++++++++++--------------> >>  1 files changed, 14 insertions(+), 14 deletions(-)> >>> >> diff --git a/sound/pci/sbxfi/sbxfi.c b/sound/pci/sbxfi/sbxfi.c> >> index c006278..3e99a97 100644> >> --- a/sound/pci/sbxfi/sbxfi.c> >> +++ b/sound/pci/sbxfi/sbxfi.c> >> @@ -155,7 +155,7 @@ struct sbxfi {> >>       int timer_reprogram;> >>> >>       unsigned int base_rate;> >> -     int master_vol[2];> >> +     int pcm_vol[2];> >>       int capture_vol[2];> >>       int capsrc;> >>       int micboost;> >> @@ -1103,7 +1103,7 @@ static void sbxfi_setup_play_mixer(struct sbxfi *chip,> >>       int i, vol, audio_ch;> >>> >>       for (i = 0; i < 2; i++) {> >> -             vol = port->vol[i] + chip->master_vol[i] - MAX_VOLUME;> >> +             vol = port->vol[i] + chip->pcm_vol[i] - MAX_VOLUME;> >>               if (vol < 0)> >>                       vol = 0;> >>               vol = amop_vol_table[vol];> >> @@ -1124,9 +1124,9 @@ static int sbxfi_update_play_mixer(struct sbxfi *chip, int *vol)> >>       struct sbxfi_port *port;> >>> >>       for (i = 0; i < 2; i++) {> >> -             if (vol[i] == chip->master_vol[i])> >> +             if (vol[i] == chip->pcm_vol[i])> >>                       continue;> >> -             chip->master_vol[i] = vol[i];> >> +             chip->pcm_vol[i] = vol[i];> >>               spin_lock_irq(&chip->port_lock);> >>               list_for_each_entry(port, &chip->port_list, list) {> >>                       if (port->substream->stream !=> >> @@ -1516,7 +1516,7 @@ static int __devinit sbxfi_create_pcm(struct sbxfi *chip)> >>  /*> >>   * Mixer interface> >>   */> >> -static int sbxfi_master_vol_info(struct snd_kcontrol *kcontrol,> >> +static int sbxfi_pcm_vol_info(struct snd_kcontrol *kcontrol,> >>                                struct snd_ctl_elem_info *uinfo)> >>  {> >>       uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;> >> @@ -1526,16 +1526,16 @@ static int sbxfi_master_vol_info(struct snd_kcontrol *kcontrol,> >>       return 0;> >>  }> >>> >> -static int sbxfi_master_vol_get(struct snd_kcontrol *kcontrol,> >> +static int sbxfi_pcm_vol_get(struct snd_kcontrol *kcontrol,> >>                               struct snd_ctl_elem_value *ucontrol)> >>  {> >>       struct sbxfi *chip = snd_kcontrol_chip(kcontrol);> >> -     ucontrol->value.integer.value[0] = chip->master_vol[0];> >> -     ucontrol->value.integer.value[1] = chip->master_vol[1];> >> +     ucontrol->value.integer.value[0] = chip->pcm_vol[0];> >> +     ucontrol->value.integer.value[1] = chip->pcm_vol[1];> >>       return 0;> >>  }> >>> >> -static int sbxfi_master_vol_put(struct snd_kcontrol *kcontrol,> >> +static int sbxfi_pcm_vol_put(struct snd_kcontrol *kcontrol,> >>                               struct snd_ctl_elem_value *ucontrol)> >>  {> >>       struct sbxfi *chip = snd_kcontrol_chip(kcontrol);> >> @@ -1543,7 +1543,7 @@ static int sbxfi_master_vol_put(struct snd_kcontrol *kcontrol,> >>> >>       vol[0] = ucontrol->value.integer.value[0];> >>       vol[1] = ucontrol->value.integer.value[1];> >> -     if (!memcmp(vol, chip->master_vol, sizeof(vol)))> >> +     if (!memcmp(vol, chip->pcm_vol, sizeof(vol)))> >>               return 0;> >>> >>       if (vol[0] < 0)> >> @@ -1658,13 +1658,13 @@ static int sbxfi_micboost_put(struct snd_kcontrol *kcontrol,> >>> >>  static struct snd_kcontrol_new mixers[] __devinitdata = {> >>       {> >> -             .name = "Master Playback Volume",> >> +             .name = "PCM Playback Volume",> >>               .iface = SNDRV_CTL_ELEM_IFACE_MIXER,> >>               .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE> >>                          /* | SNDRV_CTL_ELEM_ACCESS_TLV_READ*/),> >> -             .info = sbxfi_master_vol_info,> >> -             .get = sbxfi_master_vol_get,> >> -             .put = sbxfi_master_vol_put,> >> +             .info = sbxfi_pcm_vol_info,> >> +             .get = sbxfi_pcm_vol_get,> >> +             .put = sbxfi_pcm_vol_put,> >>               /*.tlv = { .p = db_master_vol }*/> >>       },> >>       {> >> --> >> 1.5.5.4> >>> >> _______________________________________________> >> Alsa-devel mailing list> >> Alsa-devel@xxxxxxxxxxxxxxxx> >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel> >>> > _______________________________________________> > Alsa-devel mailing list> > Alsa-devel@xxxxxxxxxxxxxxxx> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel> >> > > > -- > Vedran Miletić_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux