diff options
author | Raymond Yau <superquad.vortex2@gmail.com> | 2012-01-17 11:32:17 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-01-24 15:25:08 +0100 |
commit | bb92b7c4ed4f7d5102bb1623cc8a1a9960ddfc08 (patch) | |
tree | d92a7641af16f2b7952a4c091756e067650c11b2 /sound/pci/au88x0/au88x0.h | |
parent | dcd6c92267155e70a94b3927bce681ce74b80d1f (diff) |
ALSA: Au88x0 - Implement subdevice volume controls
- add "PCM Playback Volume" controls for 16 playback subdevices
This allow application to change the volume of each subdevice
by using hardware mixer of au88x0 and default is zero gain/attenunation.
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/au88x0/au88x0.h')
-rw-r--r-- | sound/pci/au88x0/au88x0.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h index bb938153a96..466a5c8e835 100644 --- a/sound/pci/au88x0/au88x0.h +++ b/sound/pci/au88x0/au88x0.h @@ -26,7 +26,7 @@ #include <sound/mpu401.h> #include <sound/hwdep.h> #include <sound/ac97_codec.h> - +#include <sound/tlv.h> #endif #ifndef CHIP_AU8820 @@ -107,6 +107,14 @@ #define NR_WTPB 0x20 /* WT channels per each bank. */ #define NR_PCM 0x10 +struct pcm_vol { + struct snd_kcontrol *kctl; + int active; + int dma; + int mixin[4]; + int vol[4]; +}; + /* Structs */ typedef struct { //int this_08; /* Still unknown */ @@ -168,6 +176,7 @@ struct snd_vortex { /* Xtalk canceler */ int xt_mode; /* 1: speakers, 0:headphones. */ #endif + struct pcm_vol pcm_vol[NR_PCM]; int isquad; /* cache of extended ID codec flag. */ @@ -239,7 +248,7 @@ static int vortex_alsafmt_aspfmt(int alsafmt); /* Connection stuff. */ static void vortex_connect_default(vortex_t * vortex, int en); static int vortex_adb_allocroute(vortex_t * vortex, int dma, int nr_ch, - int dir, int type); + int dir, int type, int subdev); static char vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out, int restype); #ifndef CHIP_AU8810 |