[alsa-devel] [PATCH] snd-sbxfi: rename erroneous Master mixer control to "PCM Playback Volume".
Vedran Miletić
rivanvx at gmail.com
Sun Oct 19 10:51:15 CEST 2008
Sorry to go off-topic, but there are lots of cards that don't have
Master control. Would this qualify as a bug?
2008/10/19 Takashi Iwai <tiwai at suse.de>:
> 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 at sacredspiral.co.uk>
>
> 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 at alsa-project.org
>> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
--
Vedran Miletić
More information about the Alsa-devel
mailing list