]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - sound/pci/oxygen/oxygen_mixer.c
ALSA: oxygen: fix input monitor dB scale
[linux.git] / sound / pci / oxygen / oxygen_mixer.c
index f375b8a27862452bb6ec24b4f46028136910263a..2849b36f5f7e72100c1691414cb6279e17f5d1ce 100644 (file)
@@ -708,7 +708,7 @@ static int ac97_fp_rec_volume_put(struct snd_kcontrol *ctl,
                .private_value = ((codec) << 24) | ((stereo) << 16) | (index), \
        }
 
-static DECLARE_TLV_DB_SCALE(monitor_db_scale, -1000, 1000, 0);
+static DECLARE_TLV_DB_SCALE(monitor_db_scale, -600, 600, 0);
 static DECLARE_TLV_DB_SCALE(ac97_db_scale, -3450, 150, 0);
 static DECLARE_TLV_DB_SCALE(ac97_rec_db_scale, 0, 150, 0);
 
@@ -972,6 +972,9 @@ static int add_controls(struct oxygen *chip,
                if (!strcmp(template.name, "Stereo Upmixing") &&
                    chip->model.dac_channels == 2)
                        continue;
+               if (!strncmp(template.name, "CD Capture ", 11) &&
+                   !(chip->model.device_config & AC97_CD_INPUT))
+                       continue;
                if (!strcmp(template.name, "Master Playback Volume") &&
                    chip->model.dac_tlv) {
                        template.tlv.p = chip->model.dac_tlv;