summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-08-03 17:59:36 +0200
committerTakashi Iwai <tiwai@suse.de>2012-09-06 18:08:30 +0200
commit833a493b7ed2eb8f9059338a0ebf06bebbb6ae93 (patch)
tree785dd0a6ad97fc13a100e409c8fd21e07872f64d /include/sound
parent53775b0d0cb91ab217c9853efddc51597b58bbff (diff)
downloadblackbird-op-linux-833a493b7ed2eb8f9059338a0ebf06bebbb6ae93.tar.gz
blackbird-op-linux-833a493b7ed2eb8f9059338a0ebf06bebbb6ae93.zip
ALSA: ac97: Implement channel map workaround for ALC650
ALC650 has a channel swap option between surround and CLFE channels, so we need to tweak the channel maps dynamically depending on the register bit. Now struct snd_ac97 can contain chmap pointers for playback and capture. The driver may store these and let ac97 driver changing the channel mapping dynamically. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/ac97_codec.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h
index 02cbb50225bb..4458b87649ff 100644
--- a/include/sound/ac97_codec.h
+++ b/include/sound/ac97_codec.h
@@ -422,6 +422,7 @@
*/
struct snd_ac97;
+struct snd_pcm_chmap;
struct snd_ac97_build_ops {
int (*build_3d) (struct snd_ac97 *ac97);
@@ -528,6 +529,8 @@ struct snd_ac97 {
struct delayed_work power_work;
#endif
struct device dev;
+
+ struct snd_pcm_chmap *chmaps[2]; /* channel-maps (optional) */
};
#define to_ac97_t(d) container_of(d, struct snd_ac97, dev)
OpenPOWER on IntegriCloud