Re: DMX6fire Consumer AC97 not used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 22 May 2006 15:05, you wrote:
> At Mon, 22 May 2006 14:52:08 +0100,
>
> Alan Horstmann wrote:
> > Another little 'tidy-up':
> >
> > Have always had the following log message with DMX6fire:
> >
> >  linux kernel: Consumer PCM code does not work well at the moment --jk
> >  linux kernel: ALSA ac97_codec.c:1671: AC'97 0:0 does not respond - RESET
> >  linux kernel: ALSA ac97_codec.c:1682: AC'97 0:0 access is not valid
> > [0xffffffff], removing mixer.
> >  linux kernel: ice1712: cannot initialize ac97 for consumer, skipped
> >
> > and thought the last 3 were due to the first.  However, after comparing
> > DMX6fire with STDSP24 card, it seems to me that the 6fire doesn't have an
> > AC97 chip, nor anywhere to connect to one in the standard front box, and
> > the W2K drivers from Terratec don't support it.  It is remotely possible
> > that other extension boxes may use it -but they do not have alsa support
> > at present.
> >
> > BUT the eeprom data has it enabled.  As the value is checked at several
> > places in the code, the attached patch changes the stored value for this
> > and the previous 'Limit ADACs to 6' bits.
> >
> > As a result, the log now shows no evidence of ice1712 driver at all, so I
> > added 'init...done' as in the attached 'init-message' patch.  It may be
> > the wrong place, or not wanted at all, so I kept it separate from the
> > AC97 patch. Hope it's OK in this case to attach both here.
>
> Please don't put such printk.  We don't put any info print at probe
> unless any problem exists.

OK, it's your call on this.  To me it is useful to log major system events to 
look back and see what was happening; there is plenty of much less useful 
messsages in the logs, including IP addresses, every root login, and every 
second that I don't have a CD in the drive! (need to fix that).  The au8820 
driver does a similar init message.

> Otherwise the change looks OK to get merged, but please fold the
> comment within 80 columns.

Amended AC97 patch attached.

Alan

ice1712.c-disable-6fire-AC97-2.patch

Summary:  Disable AC97 for DMX6fire

Consumer AC97 is not used by the Terratec DMX6fire, but eeprom bit indicates 
it is; change the stored value to disable failing consumer mode.

Signed-off-by: Alan Horstmann <gineera@xxxxxxxxxxxxxxx>
--- alsa-driver-1.0.11-orig/alsa-kernel/pci/ice1712/ice1712.c	2006-04-18 12:38:03.000000000 +0100
+++ alsa-driver-1.0.11/alsa-kernel/pci/ice1712/ice1712.c	2006-05-22 22:43:38.000000000 +0100
@@ -2398,13 +2398,13 @@
 	udelay(200);
 	outb(ICE1712_NATIVE, ICEREG(ice, CONTROL));
 	udelay(200);
-	if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE && !ice->dxr_enable) {
-                /* Limit active ADCs and DACs to 6;  */
-                /* Note: DXR extension not supported */
-		pci_write_config_byte(ice->pci, 0x60, 0x2a);
-	} else {
-		pci_write_config_byte(ice->pci, 0x60, ice->eeprom.data[ICE_EEP1_CODEC]);
-	}
+	if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE && !ice->dxr_enable)
+		/*  Set eeprom value to limit active ADCs and DACs to 6;
+		 *  Also disable AC97 as no hardware in standard 6fire card/box
+		 *  Note: DXR extensions are not currently supported
+		 */
+		ice->eeprom.data[ICE_EEP1_CODEC] = 0x3a;
+	pci_write_config_byte(ice->pci, 0x60, ice->eeprom.data[ICE_EEP1_CODEC]);
 	pci_write_config_byte(ice->pci, 0x61, ice->eeprom.data[ICE_EEP1_ACLINK]);
 	pci_write_config_byte(ice->pci, 0x62, ice->eeprom.data[ICE_EEP1_I2SID]);
 	pci_write_config_byte(ice->pci, 0x63, ice->eeprom.data[ICE_EEP1_SPDIF]);

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux