diff options
author | Jaroslav Kysela <perex@suse.cz> | 2006-01-18 02:02:24 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-03-22 04:26:21 -0500 |
commit | 5a25c5cfd4f61f514decca3c4106210fb168ce19 (patch) | |
tree | b79f15c8dd90d682233c231b43ce0ed932a5b126 /sound/pci/ymfpci/ymfpci.c | |
parent | 12aa757905d09b1dc2c1c3d0de3fa8f4c9726f2b (diff) |
[ALSA] ymfpci - make rear channel swap optional
Modules: YMFPCI driver
Added rear_swap module option / kernel parameter to configure the rear
channel swapping. Default value is enable to make the AC3 passthrough
working, but analog only users might revert the previous behaviour.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/ymfpci/ymfpci.c')
-rw-r--r-- | sound/pci/ymfpci/ymfpci.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c index dab9b8310341..db57ce939fa8 100644 --- a/sound/pci/ymfpci/ymfpci.c +++ b/sound/pci/ymfpci/ymfpci.c | |||
@@ -49,6 +49,7 @@ static long mpu_port[SNDRV_CARDS]; | |||
49 | static long joystick_port[SNDRV_CARDS]; | 49 | static long joystick_port[SNDRV_CARDS]; |
50 | #endif | 50 | #endif |
51 | static int rear_switch[SNDRV_CARDS]; | 51 | static int rear_switch[SNDRV_CARDS]; |
52 | static int rear_swap[SNDRV_CARDS] = { [0 ... (SNDRV_CARDS-1)] = 1 }; | ||
52 | 53 | ||
53 | module_param_array(index, int, NULL, 0444); | 54 | module_param_array(index, int, NULL, 0444); |
54 | MODULE_PARM_DESC(index, "Index value for the Yamaha DS-1 PCI soundcard."); | 55 | MODULE_PARM_DESC(index, "Index value for the Yamaha DS-1 PCI soundcard."); |
@@ -66,6 +67,8 @@ MODULE_PARM_DESC(joystick_port, "Joystick port address"); | |||
66 | #endif | 67 | #endif |
67 | module_param_array(rear_switch, bool, NULL, 0444); | 68 | module_param_array(rear_switch, bool, NULL, 0444); |
68 | MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); | 69 | MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); |
70 | module_param_array(rear_swap, bool, NULL, 0444); | ||
71 | MODULE_PARM_DESC(rear_swap, "Swap rear channels (must be enabled for correct IEC958 (S/PDIF)) output"); | ||
69 | 72 | ||
70 | static struct pci_device_id snd_ymfpci_ids[] = { | 73 | static struct pci_device_id snd_ymfpci_ids[] = { |
71 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ | 74 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ |
@@ -295,7 +298,7 @@ static int __devinit snd_card_ymfpci_probe(struct pci_dev *pci, | |||
295 | snd_card_free(card); | 298 | snd_card_free(card); |
296 | return err; | 299 | return err; |
297 | } | 300 | } |
298 | if ((err = snd_ymfpci_mixer(chip, rear_switch[dev])) < 0) { | 301 | if ((err = snd_ymfpci_mixer(chip, rear_switch[dev], rear_swap[dev])) < 0) { |
299 | snd_card_free(card); | 302 | snd_card_free(card); |
300 | return err; | 303 | return err; |
301 | } | 304 | } |