Skip to content

Commit

Permalink
sound: oxygen: better defaults for upmixing control
Browse files Browse the repository at this point in the history
On card models with two-channel outputs, the base driver can
automatically disable the upmixing control so that the model
drivers do not need to do this.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Clemens Ladisch authored and Takashi Iwai committed Sep 28, 2009
1 parent 268304f commit 75919d7
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 10 deletions.
8 changes: 0 additions & 8 deletions sound/pci/oxygen/hifier.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,19 +141,11 @@ static void set_cs5340_params(struct oxygen *chip,

static const DECLARE_TLV_DB_LINEAR(ak4396_db_scale, TLV_DB_GAIN_MUTE, 0);

static int hifier_control_filter(struct snd_kcontrol_new *template)
{
if (!strcmp(template->name, "Stereo Upmixing"))
return 1; /* stereo only - we don't need upmixing */
return 0;
}

static const struct oxygen_model model_hifier = {
.shortname = "C-Media CMI8787",
.longname = "C-Media Oxygen HD Audio",
.chip = "CMI8788",
.init = hifier_init,
.control_filter = hifier_control_filter,
.cleanup = hifier_cleanup,
.resume = hifier_resume,
.set_dac_params = set_ak4396_params,
Expand Down
3 changes: 3 additions & 0 deletions sound/pci/oxygen/oxygen_mixer.c
Original file line number Diff line number Diff line change
Expand Up @@ -954,6 +954,9 @@ static int add_controls(struct oxygen *chip,
if (err == 1)
continue;
}
if (!strcmp(template.name, "Stereo Upmixing") &&
chip->model.dac_channels == 2)
continue;
if (!strcmp(template.name, "Master Playback Volume") &&
chip->model.dac_tlv) {
template.tlv.p = chip->model.dac_tlv;
Expand Down
2 changes: 0 additions & 2 deletions sound/pci/oxygen/xonar_pcm179x.c
Original file line number Diff line number Diff line change
Expand Up @@ -605,8 +605,6 @@ static int xonar_st_control_filter(struct snd_kcontrol_new *template)
{
if (!strncmp(template->name, "CD Capture ", 11))
return 1; /* no CD input */
if (!strcmp(template->name, "Stereo Upmixing"))
return 1; /* stereo only - we don't need upmixing */
return 0;
}

Expand Down

0 comments on commit 75919d7

Please sign in to comment.