diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-08-03 11:59:36 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-09-06 12:08:30 -0400 |
commit | 833a493b7ed2eb8f9059338a0ebf06bebbb6ae93 (patch) | |
tree | 785dd0a6ad97fc13a100e409c8fd21e07872f64d /include/sound | |
parent | 53775b0d0cb91ab217c9853efddc51597b58bbff (diff) |
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.h | 3 |
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 @@ | |||
422 | */ | 422 | */ |
423 | 423 | ||
424 | struct snd_ac97; | 424 | struct snd_ac97; |
425 | struct snd_pcm_chmap; | ||
425 | 426 | ||
426 | struct snd_ac97_build_ops { | 427 | struct snd_ac97_build_ops { |
427 | int (*build_3d) (struct snd_ac97 *ac97); | 428 | int (*build_3d) (struct snd_ac97 *ac97); |
@@ -528,6 +529,8 @@ struct snd_ac97 { | |||
528 | struct delayed_work power_work; | 529 | struct delayed_work power_work; |
529 | #endif | 530 | #endif |
530 | struct device dev; | 531 | struct device dev; |
532 | |||
533 | struct snd_pcm_chmap *chmaps[2]; /* channel-maps (optional) */ | ||
531 | }; | 534 | }; |
532 | 535 | ||
533 | #define to_ac97_t(d) container_of(d, struct snd_ac97, dev) | 536 | #define to_ac97_t(d) container_of(d, struct snd_ac97, dev) |