* 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.