All of lore.kernel.org
 help / color / mirror / Atom feed
* snd-es1968 (+ snd-cs4236) trouble
@ 2005-12-10 20:13 Rene Herman
  2005-12-11  9:08 ` Sergey Vlasov
  2005-12-12 11:58 ` Takashi Iwai
  0 siblings, 2 replies; 10+ messages in thread
From: Rene Herman @ 2005-12-10 20:13 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 1211 bytes --]

Hi Takashi.

I have two soundcards in my machine; a snd-cs46xx card and a snd-cs4236 
card, which has always worked nicely. Today though I tried swapping the 
snd-cs46xx one for a snd-es1968 one, and this does not work.

The second I modprobe snd-es1968, snd-cs4236 stops working. If I'm 
listening to snd-cs4236 at the time I get the last second or so repeated 
over and over again. Killing the app that was playing via kill -9 works 
and stops the repeating sound but does not repair things: when I try to 
use snd-cs4236 again after that, it's still the same -- I only get the 
first second or so repeated over and over.

ALSA code is kernel 2.6.14.3 (1.0.10rc1). I just now tried checking 
standalone ALSA 1.0.10, but unfortunately its snd-cs4236 won't load at 
all. The machine oopses on "modprobe snd-cs4236" with the attached 
backtrace.

That last one seems a problem in snd-cs4236, but the earlier problem is 
likely in snd-es1968 -- as said, snd-cs4236 + snd-cs46xx work fine 
together. Moreover, I could swear earlier snd-cs46xx crashed in the same 
way as snd-cs4236 does when inserting snd-es1968, although I can't seem 
to reproduce this right now.

Thanks in advance for any probing...

Rene.




[-- Attachment #2: cs4236-1.0.10.oops --]
[-- Type: text/plain, Size: 2423 bytes --]

pnp: the driver 'cs423x' has been registered
pnp: match found with the PnP device '01:01.00' and the driver 'cs423x'
pnp: match found with the PnP device '01:01.02' and the driver 'cs423x'
pnp: match found with the PnP device '01:01.03' and the driver 'cs423x'
pnp: Device 01:01.00 activated.
pnp: Device 01:01.02 activated.
pnp: Device 01:01.03 activated.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
00000000
*pde = 00000000
Oops: 0000 [#1]
PREEMPT 
Modules linked in: snd_cs4236 snd_opl3_lib snd_hwdep snd_cs4236_lib snd_mpu401_uart snd_rawmidi snd_seq_device snd_cs4231_lib snd_pcm snd_timer snd soundcore snd_page_alloc nfsd exportfs lockd sunrpc nls_iso8859_1 nls_cp437 vfat fat nls_base
CPU:    0
EIP:    0060:[<00000000>]    Not tainted VLI
EFLAGS: 00010286   (2.6.14.3-local-wc) 
EIP is at 0x0
eax: ef2daa14   ebx: ef2daa1c   ecx: 00000008   edx: f094a494
esi: 00000000   edi: f094a494   ebp: c01b30e8   esp: ee8c2e3c
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 1516, threadinfo=ee8c2000 task=ef113a90)
Stack: f093f00c c01b3097 ee8c2e54 00000000 ef2daa1c c01b2a75 c0299458 c0299458 
       f094a4ec c016d676 ef2daa1c ef2daa1c c0299360 00000000 c01b3127 c01b30e8 
       ef2daa84 c01b2b77 ef2daa84 ef2daa1c ef2daac6 00000000 c01b2022 c0299240 
Call Trace:
 [<f093f00c>] snd_platform_driver_probe+0xc/0xd [snd]
 [<c01b3097>] driver_probe_device+0x31/0x82
 [<c01b2a75>] bus_for_each_drv+0x35/0x59
 [<c016d676>] create_files+0x27/0x51
 [<c01b3127>] device_attach+0x3a/0x4d
 [<c01b30e8>] __device_attach+0x0/0x5
 [<c01b2b77>] bus_add_device+0x20/0x6f
 [<c01b2022>] device_add+0x97/0xf8
 [<c01b41d9>] platform_device_register+0xb5/0x103
 [<f08f7995>] snd_cs4231_pm_suspend+0x0/0x15 [snd_cs4231_lib]
 [<f09404b2>] snd_generic_device_register+0x64/0x81 [snd]
 [<f08f79aa>] snd_cs4231_pm_resume+0x0/0x15 [snd_cs4231_lib]
 [<f0940682>] snd_card_set_generic_pm_callback+0x13/0x2f [snd]
 [<f08f7e63>] snd_cs4231_create+0x28a/0x29e [snd_cs4231_lib]
 [<f09593a2>] snd_cs4236_create+0x70/0x2b1 [snd_cs4236_lib]
 [<f09784e6>] snd_card_cs423x_probe+0x14c/0x30c [snd_cs4236]
 [<f09786d0>] snd_cs423x_pnp_detect+0x2a/0x4c [snd_cs4236]
 [<c0192e39>] card_probe+0x3b/0x85
 [<c01933f0>] pnp_register_card_driver+0x7a/0x86
 [<f08e103d>] alsa_card_cs423x_init+0x3d/0x62 [snd_cs4236]
 [<c0126e59>] sys_init_module+0xae/0x1a5
 [<c01024d1>] syscall_call+0x7/0xb
Code:  Bad EIP value.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-10 20:13 snd-es1968 (+ snd-cs4236) trouble Rene Herman
@ 2005-12-11  9:08 ` Sergey Vlasov
  2005-12-11 15:16   ` Rene Herman
  2005-12-12 11:58 ` Takashi Iwai
  1 sibling, 1 reply; 10+ messages in thread
From: Sergey Vlasov @ 2005-12-11  9:08 UTC (permalink / raw)
  To: Rene Herman; +Cc: Takashi Iwai, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 2408 bytes --]

On Sat, Dec 10, 2005 at 09:13:20PM +0100, Rene Herman wrote:
> Unable to handle kernel NULL pointer dereference at virtual address 00000000
>  printing eip:
> 00000000
> *pde = 00000000
> Oops: 0000 [#1]
> PREEMPT 
> Modules linked in: snd_cs4236 snd_opl3_lib snd_hwdep snd_cs4236_lib snd_mpu401_uart snd_rawmidi snd_seq_device snd_cs4231_lib snd_pcm snd_timer snd soundcore snd_page_alloc nfsd exportfs lockd sunrpc nls_iso8859_1 nls_cp437 vfat fat nls_base
> CPU:    0
> EIP:    0060:[<00000000>]    Not tainted VLI
> EFLAGS: 00010286   (2.6.14.3-local-wc) 
> EIP is at 0x0
> eax: ef2daa14   ebx: ef2daa1c   ecx: 00000008   edx: f094a494
> esi: 00000000   edi: f094a494   ebp: c01b30e8   esp: ee8c2e3c
> ds: 007b   es: 007b   ss: 0068
> Process modprobe (pid: 1516, threadinfo=ee8c2000 task=ef113a90)
> Stack: f093f00c c01b3097 ee8c2e54 00000000 ef2daa1c c01b2a75 c0299458 c0299458 
>        f094a4ec c016d676 ef2daa1c ef2daa1c c0299360 00000000 c01b3127 c01b30e8 
>        ef2daa84 c01b2b77 ef2daa84 ef2daa1c ef2daac6 00000000 c01b2022 c0299240 
> Call Trace:
>  [<f093f00c>] snd_platform_driver_probe+0xc/0xd [snd]
>  [<c01b3097>] driver_probe_device+0x31/0x82
>  [<c01b2a75>] bus_for_each_drv+0x35/0x59
>  [<c016d676>] create_files+0x27/0x51
>  [<c01b3127>] device_attach+0x3a/0x4d
>  [<c01b30e8>] __device_attach+0x0/0x5
>  [<c01b2b77>] bus_add_device+0x20/0x6f
>  [<c01b2022>] device_add+0x97/0xf8
>  [<c01b41d9>] platform_device_register+0xb5/0x103
>  [<f08f7995>] snd_cs4231_pm_suspend+0x0/0x15 [snd_cs4231_lib]
>  [<f09404b2>] snd_generic_device_register+0x64/0x81 [snd]
>  [<f08f79aa>] snd_cs4231_pm_resume+0x0/0x15 [snd_cs4231_lib]
>  [<f0940682>] snd_card_set_generic_pm_callback+0x13/0x2f [snd]
>  [<f08f7e63>] snd_cs4231_create+0x28a/0x29e [snd_cs4231_lib]
>  [<f09593a2>] snd_cs4236_create+0x70/0x2b1 [snd_cs4236_lib]
>  [<f09784e6>] snd_card_cs423x_probe+0x14c/0x30c [snd_cs4236]
>  [<f09786d0>] snd_cs423x_pnp_detect+0x2a/0x4c [snd_cs4236]
>  [<c0192e39>] card_probe+0x3b/0x85
>  [<c01933f0>] pnp_register_card_driver+0x7a/0x86
>  [<f08e103d>] alsa_card_cs423x_init+0x3d/0x62 [snd_cs4236]
>  [<c0126e59>] sys_init_module+0xae/0x1a5
>  [<c01024d1>] syscall_call+0x7/0xb
> Code:  Bad EIP value.

This also looks like the bug #1623:

https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1623

Please try the patch attached to that bugreport.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-11  9:08 ` Sergey Vlasov
@ 2005-12-11 15:16   ` Rene Herman
  0 siblings, 0 replies; 10+ messages in thread
From: Rene Herman @ 2005-12-11 15:16 UTC (permalink / raw)
  To: Sergey Vlasov; +Cc: Takashi Iwai, alsa-devel

Sergey Vlasov wrote:

>>Call Trace:
>> [<f093f00c>] snd_platform_driver_probe+0xc/0xd [snd]

> This also looks like the bug #1623:
> 
> https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1623
> 
> Please try the patch attached to that bugreport.

Yes, this lets the 1.0.10 snd-cs4236 load again, thanks.

Also confirmed that the 1.0.10 snd-cs4236 + snd-es1968 behaviour is 
still as described for 1.0.10-rc1: snd-cs4236 dead as soon as snd-es1968 
is inserted.

Rene.




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-10 20:13 snd-es1968 (+ snd-cs4236) trouble Rene Herman
  2005-12-11  9:08 ` Sergey Vlasov
@ 2005-12-12 11:58 ` Takashi Iwai
  2005-12-12 22:53   ` Rene Herman
  1 sibling, 1 reply; 10+ messages in thread
From: Takashi Iwai @ 2005-12-12 11:58 UTC (permalink / raw)
  To: Rene Herman; +Cc: alsa-devel

At Sat, 10 Dec 2005 21:13:20 +0100,
Rene Herman wrote:
> 
> Hi Takashi.
> 
> I have two soundcards in my machine; a snd-cs46xx card and a snd-cs4236 
> card, which has always worked nicely. Today though I tried swapping the 
> snd-cs46xx one for a snd-es1968 one, and this does not work.
> 
> The second I modprobe snd-es1968, snd-cs4236 stops working. If I'm 
> listening to snd-cs4236 at the time I get the last second or so repeated 
> over and over again. Killing the app that was playing via kill -9 works 
> and stops the repeating sound but does not repair things: when I try to 
> use snd-cs4236 again after that, it's still the same -- I only get the 
> first second or so repeated over and over.

This sounds like an irq problem.  But, still it's weird because cs4236
is ISA and should be basically intact from PCI driver.  One
possibility is that es1968 has a legacy feature to emulate ISA WSS or
SB ports, and this conflicts although they are disabled in the driver
code.

Anyway, please check whether only cs4236 is affected and other two
cards work.

BTW, if only the card number matters, you can pass index module option
for each driver (it's anyway recommended if you install multiple
cards).  Then the card is assigned as expected regardless of the
module insertion order.


Takashi


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-12 11:58 ` Takashi Iwai
@ 2005-12-12 22:53   ` Rene Herman
  2005-12-13  7:09     ` Rene Herman
  0 siblings, 1 reply; 10+ messages in thread
From: Rene Herman @ 2005-12-12 22:53 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:

>>The second I modprobe snd-es1968, snd-cs4236 stops working. If I'm 
>>listening to snd-cs4236 at the time I get the last second or so repeated 
>>over and over again. Killing the app that was playing via kill -9 works 
>>and stops the repeating sound but does not repair things: when I try to 
>>use snd-cs4236 again after that, it's still the same -- I only get the 
>>first second or so repeated over and over.
> 
> 
> This sounds like an irq problem.  But, still it's weird because cs4236
> is ISA and should be basically intact from PCI driver.  One
> possibility is that es1968 has a legacy feature to emulate ISA WSS or
> SB ports, and this conflicts although they are disabled in the driver
> code.

Good point; when you mentioned this I remembered very similar behavior 
with old ISA soundcards when there was a DMA channel conflict or 
mis-setting.

The ISA CS4236 was using standard DMA 1/0 (playback/record); when I 
force it to use channel 3 for playback, the problem is gone. It seems 
then the PCI ESS chip grabs DMA1 for the legacy stuf which conflicts 
with ISA. Haven't tested capture extensively yet, but it appears that 
channel 0 is okay..

Both drivers _can_ be loaded under Windows 98SE, so there's probably a 
way to tell the chip to reallyreally not enable the legacy stuff.

More detail: the card's a TerraTec SoundSystem DMX version 1.2, with the 
"ESS Canyon-3D" aka ES1970MS-3D (and a Sigmatel STAC9407T) which is 
detected by ALSA as a "ESS ES1978 (Maestro-2E)". Probably not a problem...

I see there's no datasheet available specifically for the ES1970, but 
I'll try to see if I can find anything in the 1969 or 1978 docs. Please 
beat me to it though... :-)

Rene.


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-12 22:53   ` Rene Herman
@ 2005-12-13  7:09     ` Rene Herman
  2005-12-13 11:04       ` Takashi Iwai
  0 siblings, 1 reply; 10+ messages in thread
From: Rene Herman @ 2005-12-13  7:09 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 2028 bytes --]

Rene Herman wrote:

> I'll try to see if I can find anything in the 1969 or 1978 docs.
> Please beat me to it though... :-)

The minimal patch I need to have things functional, is not enabling TDMA 
in sound/pci/es1968.c:

@@ -2197,10 +2197,7 @@ static void snd_es1968_chip_init(es1968_
         /* Config Reg A */
         pci_read_config_word(pci, ESM_CONFIG_A, &w);

-       /*      Use TDMA for now. TDMA works on all boards, so while its
-        *      not the most efficient its the simplest. */
         w &= ~DMA_CLEAR;        /* Clear DMA bits */
-       w |= DMA_TDMA;          /* TDMA on */

With that applied, things seem to be working fine again. With the bits 
cleared, it's set to "Distributed DMA" which is disabled via the DDMA 
control register (0x60), so this should be okay? The comment's a bit 
puzzling but doesn't this stuff apply only to the legacy DMA, which 
isn't used in this driver, anyway?

While looking there, I also noticed two bits that are reversed between 
documentation and source. One of them in fact the "Enable Legacy Audio" 
bit, so I expected that to be the trouble at first, although it wasn't. 
In the second attached patch, this bit is set in accordance with the 
documentation. Works for me... with the bit set either way, I don't seem 
to be experiencing conflicts with the CS4236 (which also has an enabled 
SBPro emulation) so I just trusted the documentation.

The other one is the "Emulate ISA timing on PCI bit". The code said and 
commented that it enabled the emulation, but according to the datasheet 
it was disabling it instead. I've left it the same, but changed the name 
of the define and the comment.

This card has Canyon-3D (ES1970MS-3D) written on the main chip, but it 
advertises itself as a 125d:1978, rev 10, which should be a Maestro-2E, 
so I've been looking at that datasheet...

As said, on this TerraTec SoundSystem DMX, version 1.2, I need the first 
patch at minimum. The second one also does the bit reversals, and works 
for me. Please apply?

Rene.

[-- Attachment #2: linux-2.6.14.3_es1968_tdma.diff --]
[-- Type: text/plain, Size: 642 bytes --]

--- linux-2.6.14.3-local-wc/sound/pci/es1968.c.orig	2005-12-13 07:32:43.000000000 +0100
+++ linux-2.6.14.3-local-wc/sound/pci/es1968.c	2005-12-13 07:32:49.000000000 +0100
@@ -2197,10 +2197,7 @@ static void snd_es1968_chip_init(es1968_
 	/* Config Reg A */
 	pci_read_config_word(pci, ESM_CONFIG_A, &w);
 
-	/*      Use TDMA for now. TDMA works on all boards, so while its
-	 *      not the most efficient its the simplest. */
 	w &= ~DMA_CLEAR;	/* Clear DMA bits */
-	w |= DMA_TDMA;		/* TDMA on */
 	w &= ~(PIC_SNOOP1 | PIC_SNOOP2);	/* Clear Pic Snoop Mode Bits */
 	w &= ~SAFEGUARD;	/* Safeguard off */
 	w |= POST_WRITE;	/* Posted write */

[-- Attachment #3: linux-2.6.14.3_es1968_tdma_la_iem.diff --]
[-- Type: text/plain, Size: 1726 bytes --]

--- linux-2.6.14.3-local-wc/sound/pci/es1968.c.orig	2005-12-13 07:25:47.000000000 +0100
+++ linux-2.6.14.3-local-wc/sound/pci/es1968.c	2005-12-13 07:26:04.000000000 +0100
@@ -176,7 +176,7 @@ MODULE_PARM_DESC(joystick, "Enable joyst
 
 /* Values for the ESM_LEGACY_AUDIO_CONTROL */
 
-#define ESS_ENABLE_AUDIO	0x8000
+#define ESS_DISABLE_AUDIO	0x8000
 #define ESS_ENABLE_SERIAL_IRQ	0x4000
 #define IO_ADRESS_ALIAS		0x0020
 #define MPU401_IRQ_ENABLE	0x0010
@@ -195,7 +195,7 @@ MODULE_PARM_DESC(joystick, "Enable joyst
 #define DMA_TDMA		0x0100
 #define DMA_PCPCI		0x0200
 #define POST_WRITE		0x0080
-#define ISA_TIMING		0x0040
+#define PCI_TIMING		0x0040
 #define SWAP_LR			0x0020
 #define SUBTR_DECODE		0x0002
 
@@ -2197,14 +2197,11 @@ static void snd_es1968_chip_init(es1968_
 	/* Config Reg A */
 	pci_read_config_word(pci, ESM_CONFIG_A, &w);
 
-	/*      Use TDMA for now. TDMA works on all boards, so while its
-	 *      not the most efficient its the simplest. */
 	w &= ~DMA_CLEAR;	/* Clear DMA bits */
-	w |= DMA_TDMA;		/* TDMA on */
 	w &= ~(PIC_SNOOP1 | PIC_SNOOP2);	/* Clear Pic Snoop Mode Bits */
 	w &= ~SAFEGUARD;	/* Safeguard off */
 	w |= POST_WRITE;	/* Posted write */
-	w |= ISA_TIMING;	/* ISA timing on */
+	w |= PCI_TIMING;	/* PCI timing on */
 	/* XXX huh?  claims to be reserved.. */
 	w &= ~SWAP_LR;		/* swap left/right 
 				   seems to only have effect on SB
@@ -2245,7 +2242,7 @@ static void snd_es1968_chip_init(es1968_
 
 	pci_read_config_word(pci, ESM_LEGACY_AUDIO_CONTROL, &w);
 
-	w &= ~ESS_ENABLE_AUDIO;	/* Disable Legacy Audio */
+	w |= ESS_DISABLE_AUDIO;	/* Disable Legacy Audio */
 	w &= ~ESS_ENABLE_SERIAL_IRQ;	/* Disable SIRQ */
 	w &= ~(0x1f);		/* disable mpu irq/io, game port, fm, SB */
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-13  7:09     ` Rene Herman
@ 2005-12-13 11:04       ` Takashi Iwai
  2005-12-13 20:24         ` Rene Herman
  0 siblings, 1 reply; 10+ messages in thread
From: Takashi Iwai @ 2005-12-13 11:04 UTC (permalink / raw)
  To: Rene Herman; +Cc: alsa-devel

At Tue, 13 Dec 2005 08:09:05 +0100,
Rene Herman wrote:
> 
> Rene Herman wrote:
> 
> > I'll try to see if I can find anything in the 1969 or 1978 docs.
> > Please beat me to it though... :-)
> 
> The minimal patch I need to have things functional, is not enabling TDMA 
> in sound/pci/es1968.c:
> 
> @@ -2197,10 +2197,7 @@ static void snd_es1968_chip_init(es1968_
>          /* Config Reg A */
>          pci_read_config_word(pci, ESM_CONFIG_A, &w);
> 
> -       /*      Use TDMA for now. TDMA works on all boards, so while its
> -        *      not the most efficient its the simplest. */
>          w &= ~DMA_CLEAR;        /* Clear DMA bits */
> -       w |= DMA_TDMA;          /* TDMA on */
> 
> With that applied, things seem to be working fine again. With the bits 
> cleared, it's set to "Distributed DMA" which is disabled via the DDMA 
> control register (0x60), so this should be okay? The comment's a bit 
> puzzling but doesn't this stuff apply only to the legacy DMA, which 
> isn't used in this driver, anyway?

Good catch.  I thought TDMA is the timer DMA for es1968, and never
thought it conflicts with ISA DMAs.

Just to be sure, doesn't it break es1968 itself, right?


> While looking there, I also noticed two bits that are reversed between 
> documentation and source. One of them in fact the "Enable Legacy Audio" 
> bit, so I expected that to be the trouble at first, although it wasn't. 
> In the second attached patch, this bit is set in accordance with the 
> documentation. Works for me... with the bit set either way, I don't seem 
> to be experiencing conflicts with the CS4236 (which also has an enabled 
> SBPro emulation) so I just trusted the documentation.
> 
> The other one is the "Emulate ISA timing on PCI bit". The code said and 
> commented that it enabled the emulation, but according to the datasheet 
> it was disabling it instead. I've left it the same, but changed the name 
> of the define and the comment.
> 
> This card has Canyon-3D (ES1970MS-3D) written on the main chip, but it 
> advertises itself as a 125d:1978, rev 10, which should be a Maestro-2E, 
> so I've been looking at that datasheet...
> 
> As said, on this TerraTec SoundSystem DMX, version 1.2, I need the first 
> patch at minimum. The second one also does the bit reversals, and works 
> for me. Please apply?

I'll apply it to CVS after releasing 1.0.11-rc1.  (Don't worry, rc2
will come soon later :) 


Thanks,

Takashi


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-13 11:04       ` Takashi Iwai
@ 2005-12-13 20:24         ` Rene Herman
  2005-12-14  4:55           ` Rene Herman
  0 siblings, 1 reply; 10+ messages in thread
From: Rene Herman @ 2005-12-13 20:24 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

Takashi Iwai wrote:

> Good catch.  I thought TDMA is the timer DMA for es1968, and never
> thought it conflicts with ISA DMAs.

"Transparent DMA", some ESS specific "ISA-DMA on PCI" thing, it seems.

> Just to be sure, doesn't it break es1968 itself, right?

No, snd-es1968 is fine with it applied. Listening to it currently...

> I'll apply it to CVS after releasing 1.0.11-rc1.  (Don't worry, rc2
> will come soon later :) 

I'll poke around some more to confirm the documentation was right about 
the Legacy Audio bit. I see the SB-EMU can be set to 0x240 and that's 
free here, so I'll try and see for which setting of the bit something 
appears there. Once done, I'll confirm the previously mailed patch, or 
submit a change again against the then current situation.

Rene.


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-13 20:24         ` Rene Herman
@ 2005-12-14  4:55           ` Rene Herman
  2005-12-14 12:00             ` Takashi Iwai
  0 siblings, 1 reply; 10+ messages in thread
From: Rene Herman @ 2005-12-14  4:55 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 529 bytes --]

Rene Herman wrote:

> I'll poke around some more to confirm the documentation was right about 
> the Legacy Audio bit. I see the SB-EMU can be set to 0x240 and that's 
> free here, so I'll try and see for which setting of the bit something 
> appears there.

Managed to already. Yes, confirmed, the documentation was right. snd-sb8 
actually loads for this emulation:

ALSA sound/isa/sb/sb_common.c:130: SB [0x240]: DSP chip found, version = 3.2

So anyways, the submitted patch, re-attached for convenience, was right.

Rene.



[-- Attachment #2: linux-2.6.14.3_es1968_tdma_la_iem.diff --]
[-- Type: text/plain, Size: 1726 bytes --]

--- linux-2.6.14.3-local-wc/sound/pci/es1968.c.orig	2005-12-13 07:25:47.000000000 +0100
+++ linux-2.6.14.3-local-wc/sound/pci/es1968.c	2005-12-13 07:26:04.000000000 +0100
@@ -176,7 +176,7 @@ MODULE_PARM_DESC(joystick, "Enable joyst
 
 /* Values for the ESM_LEGACY_AUDIO_CONTROL */
 
-#define ESS_ENABLE_AUDIO	0x8000
+#define ESS_DISABLE_AUDIO	0x8000
 #define ESS_ENABLE_SERIAL_IRQ	0x4000
 #define IO_ADRESS_ALIAS		0x0020
 #define MPU401_IRQ_ENABLE	0x0010
@@ -195,7 +195,7 @@ MODULE_PARM_DESC(joystick, "Enable joyst
 #define DMA_TDMA		0x0100
 #define DMA_PCPCI		0x0200
 #define POST_WRITE		0x0080
-#define ISA_TIMING		0x0040
+#define PCI_TIMING		0x0040
 #define SWAP_LR			0x0020
 #define SUBTR_DECODE		0x0002
 
@@ -2197,14 +2197,11 @@ static void snd_es1968_chip_init(es1968_
 	/* Config Reg A */
 	pci_read_config_word(pci, ESM_CONFIG_A, &w);
 
-	/*      Use TDMA for now. TDMA works on all boards, so while its
-	 *      not the most efficient its the simplest. */
 	w &= ~DMA_CLEAR;	/* Clear DMA bits */
-	w |= DMA_TDMA;		/* TDMA on */
 	w &= ~(PIC_SNOOP1 | PIC_SNOOP2);	/* Clear Pic Snoop Mode Bits */
 	w &= ~SAFEGUARD;	/* Safeguard off */
 	w |= POST_WRITE;	/* Posted write */
-	w |= ISA_TIMING;	/* ISA timing on */
+	w |= PCI_TIMING;	/* PCI timing on */
 	/* XXX huh?  claims to be reserved.. */
 	w &= ~SWAP_LR;		/* swap left/right 
 				   seems to only have effect on SB
@@ -2245,7 +2242,7 @@ static void snd_es1968_chip_init(es1968_
 
 	pci_read_config_word(pci, ESM_LEGACY_AUDIO_CONTROL, &w);
 
-	w &= ~ESS_ENABLE_AUDIO;	/* Disable Legacy Audio */
+	w |= ESS_DISABLE_AUDIO;	/* Disable Legacy Audio */
 	w &= ~ESS_ENABLE_SERIAL_IRQ;	/* Disable SIRQ */
 	w &= ~(0x1f);		/* disable mpu irq/io, game port, fm, SB */
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: snd-es1968 (+ snd-cs4236) trouble
  2005-12-14  4:55           ` Rene Herman
@ 2005-12-14 12:00             ` Takashi Iwai
  0 siblings, 0 replies; 10+ messages in thread
From: Takashi Iwai @ 2005-12-14 12:00 UTC (permalink / raw)
  To: Rene Herman; +Cc: alsa-devel

At Wed, 14 Dec 2005 05:55:13 +0100,
Rene Herman wrote:
> 
> Rene Herman wrote:
> 
> > I'll poke around some more to confirm the documentation was right about 
> > the Legacy Audio bit. I see the SB-EMU can be set to 0x240 and that's 
> > free here, so I'll try and see for which setting of the bit something 
> > appears there.
> 
> Managed to already. Yes, confirmed, the documentation was right. snd-sb8 
> actually loads for this emulation:
> 
> ALSA sound/isa/sb/sb_common.c:130: SB [0x240]: DSP chip found, version = 3.2
> 
> So anyways, the submitted patch, re-attached for convenience, was right.
> 
> Rene.

Great, now I committed to CVS.  Thanks.


Takashi


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2005-12-14 11:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-10 20:13 snd-es1968 (+ snd-cs4236) trouble Rene Herman
2005-12-11  9:08 ` Sergey Vlasov
2005-12-11 15:16   ` Rene Herman
2005-12-12 11:58 ` Takashi Iwai
2005-12-12 22:53   ` Rene Herman
2005-12-13  7:09     ` Rene Herman
2005-12-13 11:04       ` Takashi Iwai
2005-12-13 20:24         ` Rene Herman
2005-12-14  4:55           ` Rene Herman
2005-12-14 12:00             ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.