aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt3
-rw-r--r--Documentation/sound/alsa/CMIPCI.txt13
-rw-r--r--sound/pci/cmipci.c6
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.
209MIDI CONTROLLER 209MIDI CONTROLLER
210--------------- 210---------------
211 211
212The MPU401-UART interface is disabled as default. You need to set 212With CMI8338 chips, the MPU401-UART interface is disabled as default.
213module option "mpu_port" with a valid I/O port address to enable the 213You need to set the module option "mpu_port" to a valid I/O port address
214MIDI support. The valid I/O ports are 0x300, 0x310, 0x320 and 0x330. 214to enable MIDI support. Valid I/O ports are 0x300, 0x310, 0x320 and
215Choose the value which doesn't conflict with other cards. With 2150x330. Choose a value that doesn't conflict with other cards.
216CMI8738 and newer chips, you can use "mpu_port=1" to use a PCI port 216
217address that does not conflict with any other card. 217With CMI8738 and newer chips, the MIDI interface is enabled by default
218and the driver automatically chooses a port address.
218 219
219There is _no_ hardware wavetable function on this chip (except for 220There is _no_ hardware wavetable function on this chip (except for
220OPL3 synth below). 221OPL3 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;