diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2007-09-03 03:55:49 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 09:59:44 -0400 |
commit | c78c950d28df984e39ad028a90bcdadcd3eda3b6 (patch) | |
tree | 3353f01703a224b0c9be3b3d7bbb93cebea7c799 | |
parent | 8992e18db32f5df55fd4b458def7dccd2a5c3266 (diff) |
[ALSA] cmipci: do not check for integrated FM/MIDI ports with chip version 37
Integrated MPU-401/OPL3 ports are available with chip version 39 and
later, so we do not test for the port with version 37.
Now that the test is known to work, we can again enable the MIDI port by
default.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 3 | ||||
-rw-r--r-- | Documentation/sound/alsa/CMIPCI.txt | 13 | ||||
-rw-r--r-- | sound/pci/cmipci.c | 6 |
3 files changed, 11 insertions, 11 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 38e775629c12..96bf25ccc1c5 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -367,9 +367,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
367 | 367 | ||
368 | Module for C-Media CMI8338/8738/8768/8770 PCI sound cards. | 368 | Module for C-Media CMI8338/8738/8768/8770 PCI sound cards. |
369 | 369 | ||
370 | mpu_port - port address of MIDI interface: | 370 | mpu_port - port address of MIDI interface (8338 only): |
371 | 0x300,0x310,0x320,0x330 = legacy port, | 371 | 0x300,0x310,0x320,0x330 = legacy port, |
372 | 1 = integrated PCI port (8738 or later), | ||
373 | 0 = disable (default) | 372 | 0 = disable (default) |
374 | fm_port - port address of OPL-3 FM synthesizer (8x38 only): | 373 | fm_port - port address of OPL-3 FM synthesizer (8x38 only): |
375 | 0x388 = legacy port, | 374 | 0x388 = legacy port, |
diff --git a/Documentation/sound/alsa/CMIPCI.txt b/Documentation/sound/alsa/CMIPCI.txt index 664be46566b8..16935c8561f7 100644 --- a/Documentation/sound/alsa/CMIPCI.txt +++ b/Documentation/sound/alsa/CMIPCI.txt | |||
@@ -209,12 +209,13 @@ In addition to the standard SB mixer, CM8x38 provides more functions. | |||
209 | MIDI CONTROLLER | 209 | MIDI CONTROLLER |
210 | --------------- | 210 | --------------- |
211 | 211 | ||
212 | The MPU401-UART interface is disabled as default. You need to set | 212 | With CMI8338 chips, the MPU401-UART interface is disabled as default. |
213 | module option "mpu_port" with a valid I/O port address to enable the | 213 | You need to set the module option "mpu_port" to a valid I/O port address |
214 | MIDI support. The valid I/O ports are 0x300, 0x310, 0x320 and 0x330. | 214 | to enable MIDI support. Valid I/O ports are 0x300, 0x310, 0x320 and |
215 | Choose the value which doesn't conflict with other cards. With | 215 | 0x330. Choose a value that doesn't conflict with other cards. |
216 | CMI8738 and newer chips, you can use "mpu_port=1" to use a PCI port | 216 | |
217 | address that does not conflict with any other card. | 217 | With CMI8738 and newer chips, the MIDI interface is enabled by default |
218 | and the driver automatically chooses a port address. | ||
218 | 219 | ||
219 | There is _no_ hardware wavetable function on this chip (except for | 220 | There is _no_ hardware wavetable function on this chip (except for |
220 | OPL3 synth below). | 221 | OPL3 synth below). |
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index af266eb83059..fdc4615ea0e7 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c | |||
@@ -2798,7 +2798,7 @@ static int __devinit snd_cmipci_create_fm(struct cmipci *cm, long fm_port) | |||
2798 | if (!fm_port) | 2798 | if (!fm_port) |
2799 | goto disable_fm; | 2799 | goto disable_fm; |
2800 | 2800 | ||
2801 | if (cm->chip_version > 33) { | 2801 | if (cm->chip_version >= 39) { |
2802 | /* first try FM regs in PCI port range */ | 2802 | /* first try FM regs in PCI port range */ |
2803 | iosynth = cm->iobase + CM_REG_FM_PCI; | 2803 | iosynth = cm->iobase + CM_REG_FM_PCI; |
2804 | err = snd_opl3_create(cm->card, iosynth, iosynth + 2, | 2804 | err = snd_opl3_create(cm->card, iosynth, iosynth + 2, |
@@ -2990,8 +2990,7 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc | |||
2990 | return err; | 2990 | return err; |
2991 | } | 2991 | } |
2992 | 2992 | ||
2993 | val = 0; | 2993 | if (cm->chip_version >= 39) { |
2994 | if (cm->chip_version > 33 && mpu_port[dev] == 1) { | ||
2995 | val = snd_cmipci_read_b(cm, CM_REG_MPU_PCI + 1); | 2994 | val = snd_cmipci_read_b(cm, CM_REG_MPU_PCI + 1); |
2996 | if (val != 0x00 && val != 0xff) { | 2995 | if (val != 0x00 && val != 0xff) { |
2997 | iomidi = cm->iobase + CM_REG_MPU_PCI; | 2996 | iomidi = cm->iobase + CM_REG_MPU_PCI; |
@@ -2999,6 +2998,7 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc | |||
2999 | } | 2998 | } |
3000 | } | 2999 | } |
3001 | if (!integrated_midi) { | 3000 | if (!integrated_midi) { |
3001 | val = 0; | ||
3002 | iomidi = mpu_port[dev]; | 3002 | iomidi = mpu_port[dev]; |
3003 | switch (iomidi) { | 3003 | switch (iomidi) { |
3004 | case 0x320: val = CM_VMPU_320; break; | 3004 | case 0x320: val = CM_VMPU_320; break; |