ALSA: Au88x0 - Support 4 channels playback when AC97 codecs has SDAC bit
- Check SDAC bit of AC97 codec for supporting 4 channels playback. Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
ffe535edb9
commit
7b32486ca4
|
@ -268,6 +268,11 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
|
|||
card->shortname, chip->io, chip->irq);
|
||||
|
||||
// (4) Alloc components.
|
||||
err = snd_vortex_mixer(chip);
|
||||
if (err < 0) {
|
||||
snd_card_free(card);
|
||||
return err;
|
||||
}
|
||||
// ADB pcm.
|
||||
if ((err = snd_vortex_new_pcm(chip, VORTEX_PCM_ADB, NR_ADB)) < 0) {
|
||||
snd_card_free(card);
|
||||
|
@ -299,11 +304,6 @@ snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
|
|||
return err;
|
||||
}
|
||||
#endif
|
||||
// snd_ac97_mixer and Vortex mixer.
|
||||
if ((err = snd_vortex_mixer(chip)) < 0) {
|
||||
snd_card_free(card);
|
||||
return err;
|
||||
}
|
||||
if ((err = snd_vortex_midi(chip)) < 0) {
|
||||
snd_card_free(card);
|
||||
return err;
|
||||
|
|
|
@ -168,6 +168,7 @@ static int snd_vortex_pcm_open(struct snd_pcm_substream *substream)
|
|||
runtime->hw = snd_vortex_playback_hw_adb;
|
||||
#ifdef CHIP_AU8830
|
||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK &&
|
||||
VORTEX_IS_QUAD(vortex) &&
|
||||
VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_ADB) {
|
||||
runtime->hw.channels_max = 4;
|
||||
snd_pcm_hw_constraint_list(runtime, 0,
|
||||
|
|
Loading…
Reference in New Issue