Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/sound/pci/au88x0/au88x0_mixer.c
10817 views
1
/*
2
* Vortex Mixer support.
3
*
4
* There is much more than just the AC97 mixer...
5
*
6
*/
7
8
#include <linux/time.h>
9
#include <linux/init.h>
10
#include <sound/core.h>
11
#include "au88x0.h"
12
13
static int __devinit snd_vortex_mixer(vortex_t * vortex)
14
{
15
struct snd_ac97_bus *pbus;
16
struct snd_ac97_template ac97;
17
int err;
18
static struct snd_ac97_bus_ops ops = {
19
.write = vortex_codec_write,
20
.read = vortex_codec_read,
21
};
22
23
if ((err = snd_ac97_bus(vortex->card, 0, &ops, NULL, &pbus)) < 0)
24
return err;
25
memset(&ac97, 0, sizeof(ac97));
26
// Initialize AC97 codec stuff.
27
ac97.private_data = vortex;
28
ac97.scaps = AC97_SCAP_NO_SPDIF;
29
err = snd_ac97_mixer(pbus, &ac97, &vortex->codec);
30
vortex->isquad = ((vortex->codec == NULL) ? 0 : (vortex->codec->ext_id&0x80));
31
return err;
32
}
33
34