ALSA: Implement channel maps for standard onboard AC97 drivers
Just set the channel maps depending on the hardware availability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
@@ -1250,6 +1250,7 @@ static struct atiixp_dma_ops snd_atiixp_spdif_dma_ops = {
|
||||
static int __devinit snd_atiixp_pcm_new(struct atiixp *chip)
|
||||
{
|
||||
struct snd_pcm *pcm;
|
||||
struct snd_pcm_chmap *chmap;
|
||||
struct snd_ac97_bus *pbus = chip->ac97_bus;
|
||||
int err, i, num_pcms;
|
||||
|
||||
@@ -1293,6 +1294,14 @@ static int __devinit snd_atiixp_pcm_new(struct atiixp *chip)
|
||||
snd_dma_pci_data(chip->pci),
|
||||
64*1024, 128*1024);
|
||||
|
||||
err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK,
|
||||
snd_pcm_alt_chmaps, chip->max_channels, 0,
|
||||
&chmap);
|
||||
if (err < 0)
|
||||
return err;
|
||||
chmap->channel_mask = SND_PCM_CHMAP_MASK_2468;
|
||||
chip->ac97[0]->chmaps[SNDRV_PCM_STREAM_PLAYBACK] = chmap;
|
||||
|
||||
/* no SPDIF support on codec? */
|
||||
if (chip->pcms[ATI_PCM_SPDIF] && ! chip->pcms[ATI_PCM_SPDIF]->rates)
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user