* cs64xx distortion (GameTheater XP)
@ 2003-01-15 23:14 Christian Esken
2003-01-16 10:24 ` Takashi Iwai
2003-01-16 23:11 ` Benny Sjostrand
0 siblings, 2 replies; 20+ messages in thread
From: Christian Esken @ 2003-01-15 23:14 UTC (permalink / raw)
To: alsa-devel
Hi,
I wonder what the status of the cs64xx distortion problem is.
I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
and it still shows those heavy distortions on analog output.
Digital out is OK most of the time, but sometimes fails (as described in cs62xx_lib.c).
I thought you might be interested in the syslog:
PCI: Found IRQ 7 for device 00:0a.0
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3855: hack for Hercules Game Theatre XP enabled
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3866: Crystal EAPD support forced on.
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
I am wondering about the status, as there is still this comment in cs64xx_lib.c:
---------------------------
/* CD mute change ? */
/* Benny: this hack dont seems to make any sense to me, at least on the
Game Theater XP,
Turning of the amplifier just make the PCM sound very distorcionated. is this really needed ????????????????
*/
---------------------------
And what about CONFIG_SND_CS46XX_NEW_DSP? I left the default, which seems to be
-DCONFIG_SND_CS46XX_NEW_DSP=1
Which means, the "CD mute change" stuff is not compiled in at all.
Bye,
Chris
being terribly confused at the moment - hoping for enlightenment :)
-------------------------------------------------------
This SF.NET email is sponsored by: A Thawte Code Signing Certificate
is essential in establishing user confidence by providing assurance of
authenticity and code integrity. Download our Free Code Signing guide:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP)
2003-01-15 23:14 cs64xx distortion (GameTheater XP) Christian Esken
@ 2003-01-16 10:24 ` Takashi Iwai
2003-01-16 23:11 ` Benny Sjostrand
1 sibling, 0 replies; 20+ messages in thread
From: Takashi Iwai @ 2003-01-16 10:24 UTC (permalink / raw)
To: Christian Esken; +Cc: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 889 bytes --]
At Thu, 16 Jan 2003 00:14:10 +0100,
Christian Esken wrote:
>
> Hi,
>
> I wonder what the status of the cs64xx distortion problem is.
> I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
> and it still shows those heavy distortions on analog output.
>
> Digital out is OK most of the time, but sometimes fails (as described in cs62xx_lib.c).
> I thought you might be interested in the syslog:
>
> PCI: Found IRQ 7 for device 00:0a.0
> ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3855: hack for Hercules Game Theatre XP enabled
> ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3866: Crystal EAPD support forced on.
well, it looks like you passed external_amp=1 option to the module,
which you don't need usually.
anyway, try the attached patch (and without external_amp=1 option).
it will clean up the amplifier controls.
Takashi
[-- Attachment #2: cs46xx-amp.dif --]
[-- Type: application/octet-stream, Size: 5833 bytes --]
Index: alsa-kernel/pci/cs46xx/cs46xx_lib.c
===================================================================
RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/cs46xx/cs46xx_lib.c,v
retrieving revision 1.40
diff -u -r1.40 cs46xx_lib.c
--- alsa-kernel/pci/cs46xx/cs46xx_lib.c 7 Jan 2003 10:33:23 -0000 1.40
+++ alsa-kernel/pci/cs46xx/cs46xx_lib.c 16 Jan 2003 10:14:30 -0000
@@ -273,9 +273,6 @@
unsigned short val)
{
cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return);
-#ifndef CONFIG_SND_CS46XX_NEW_DSP
- int val2 = 0;
-#endif
int codec_index = -1;
/* UGGLY: nr_ac97_codecs == 0 primery codec detection is in progress */
@@ -287,59 +284,9 @@
else
snd_assert(0,return);
-#ifndef CONFIG_SND_CS46XX_NEW_DSP
- if (reg == AC97_CD)
- val2 = snd_cs46xx_codec_read(chip, AC97_CD, codec_index);
-#endif
-
+ chip->active_ctrl(chip, 1);
snd_cs46xx_codec_write(chip, reg, val, codec_index);
-
-#ifndef CONFIG_SND_CS46XX_NEW_DSP
- /* Benny: I've not found *one* soundcard where
- this code below could do any sense, and
- with the HW mixering it's anyway broken, with
- more then 1 PCM stream the amplifier will not
- be turned off by unmuting CD channel. So just
- lets skip it.
- */
-
- /*
- * Adjust power if the mixer is selected/deselected according
- * to the CD.
- *
- * IF the CD is a valid input source (mixer or direct) AND
- * the CD is not muted THEN power is needed
- *
- * We do two things. When record select changes the input to
- * add/remove the CD we adjust the power count if the CD is
- * unmuted.
- *
- * When the CD mute changes we adjust the power level if the
- * CD was a valid input.
- *
- * We also check for CD volume != 0, as the CD mute isn't
- * normally tweaked from userspace.
- */
-
- /* CD mute change ? */
-
- /* Benny: this hack dont seems to make any sense to me, at least on the Game Theater XP,
- Turning of the amplifier just make the PCM sound very distorcionated.
- is this really needed ????????????????
- */
- if (reg == AC97_CD) {
- /* Mute bit change ? */
- if ((val2^val)&0x8000 || ((val2 == 0x1f1f || val == 0x1f1f) && val2 != val)) {
- /* Mute on */
- if(val&0x8000 || val == 0x1f1f)
- chip->amplifier_ctrl(chip, -1);
- else /* Mute off power on */
- chip->amplifier_ctrl(chip, 1);
- }
- }
-
chip->active_ctrl(chip, -1);
-#endif
}
@@ -1506,7 +1453,6 @@
if (chip->accept_valid)
substream->runtime->hw.info |= SNDRV_PCM_INFO_MMAP_VALID;
chip->active_ctrl(chip, 1);
- chip->amplifier_ctrl(chip, 1);
return 0;
}
@@ -1570,7 +1516,6 @@
substream->runtime->hw.info |= SNDRV_PCM_INFO_MMAP_VALID;
chip->active_ctrl(chip, 1);
- chip->amplifier_ctrl(chip, 1);
#ifdef CONFIG_SND_CS46XX_NEW_DSP
snd_pcm_hw_constraint_list(substream->runtime, 0,
@@ -1605,7 +1550,6 @@
cpcm->substream = NULL;
snd_free_pci_pages(chip->pci, cpcm->hw_size, cpcm->hw_area, cpcm->hw_addr);
chip->active_ctrl(chip, -1);
- chip->amplifier_ctrl(chip, -1);
return 0;
}
@@ -1617,7 +1561,6 @@
chip->capt.substream = NULL;
snd_free_pci_pages(chip->pci, chip->capt.hw_size, chip->capt.hw_area, chip->capt.hw_addr);
chip->active_ctrl(chip, -1);
- chip->amplifier_ctrl(chip, -1);
return 0;
}
@@ -3545,9 +3488,6 @@
{
snd_printdd ("initializing Voyetra mixer\n");
- /* turnon Amplifier and leave it on */
- chip->amplifier_ctrl(chip, 1);
-
/* Enable SPDIF out */
snd_cs46xx_pokeBA0(chip, BA0_EGPIODR, EGPIODR_GPOE0);
snd_cs46xx_pokeBA0(chip, BA0_EGPIOPTR, EGPIODR_GPOE0);
@@ -3566,9 +3506,6 @@
snd_printdd ("initializing Hercules mixer\n");
#ifdef CONFIG_SND_CS46XX_NEW_DSP
- /* turnon Amplifier and leave it on */
- chip->amplifier_ctrl(chip, 1);
-
for (idx = 0 ; idx < sizeof(snd_hercules_controls) /
sizeof(snd_hercules_controls[0]) ; idx++) {
snd_kcontrol_t *kctl;
@@ -3708,6 +3645,8 @@
#ifdef CONFIG_PM
void snd_cs46xx_suspend(cs46xx_t *chip)
{
+ int amp_saved;
+
snd_card_t *card = chip->card;
if (card->power_state == SNDRV_CTL_POWER_D3hot)
@@ -3715,7 +3654,13 @@
snd_pcm_suspend_all(chip->pcm);
// chip->ac97_powerdown = snd_cs46xx_codec_read(chip, AC97_POWER_CONTROL);
// chip->ac97_general_purpose = snd_cs46xx_codec_read(chip, BA0_AC97_GENERAL_PURPOSE);
+ amp_saved = chip->amplifier;
+ /* turn off amp */
+ chip->amplifier_ctrl(chip, -chip->amplifier);
snd_cs46xx_hw_stop(chip);
+ /* disable CLKRUN */
+ chip->active_ctrl(chip, -chip->amplifier);
+ chip->amplifier = amp_saved; /* restore the status */
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
}
@@ -3748,11 +3693,10 @@
snd_ac97_resume(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]);
if (amp_saved)
- chip->amplifier_ctrl(chip, 1); /* try to turn on */
- if (! amp_saved) {
- chip->amplifier = 1;
- chip->active_ctrl(chip, -1);
- }
+ chip->amplifier_ctrl(chip, 1); /* turn amp on */
+ else
+ chip->active_ctrl(chip, -1); /* disable CLKRUN */
+ chip->amplifier = amp_saved;
snd_power_change_state(card, SNDRV_CTL_POWER_D0);
}
@@ -3853,11 +3797,11 @@
for (cp = &cards[0]; cp->name; cp++) {
if (cp->vendor == ss_vendor && cp->id == ss_card) {
snd_printd ("hack for %s enabled\n", cp->name);
- if (cp->init)
- cp->init(chip);
chip->amplifier_ctrl = cp->amp;
chip->active_ctrl = cp->active;
chip->mixer_init = cp->mixer_init;
+ if (cp->init)
+ cp->init(chip);
break;
}
}
@@ -3878,7 +3822,7 @@
if (chip->active_ctrl == NULL)
chip->active_ctrl = amp_none;
- chip->active_ctrl(chip, 1);
+ chip->active_ctrl(chip, 1); /* enable CLKRUN */
pci_set_master(pci);
@@ -3929,7 +3873,10 @@
return err;
}
- chip->active_ctrl(chip, -1);
+ /* turn on amplifier */
+ chip->amplifier_ctrl(chip, 1);
+
+ chip->active_ctrl(chip, -1); /* disable CLKRUN */
*rchip = chip;
return 0;
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP)
2003-01-15 23:14 cs64xx distortion (GameTheater XP) Christian Esken
2003-01-16 10:24 ` Takashi Iwai
@ 2003-01-16 23:11 ` Benny Sjostrand
2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers
` (2 more replies)
1 sibling, 3 replies; 20+ messages in thread
From: Benny Sjostrand @ 2003-01-16 23:11 UTC (permalink / raw)
To: Christian Esken; +Cc: alsa-devel
>
>
>I wonder what the status of the cs64xx distortion problem is.
>I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
>
My opinion: the GameTheater XP it's a cheap soundcard with a beautiful
blue box. Usually cheap soundcard got a cheap design as result of a tiny
bugdet, so just dont expect to much from the analog part's.
Actually I got a Hercules GameTheater XP 6.1, when volume is over about
a ~80% the output is sometimes distorcionated, but I believe that's
something we cant do anything about in the driver. Limit some volume
control's in the driver dont feel like a coherent solution.
The card is still usable, I really dont expect to better quality on
analog output with this soundcard.
>ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
>ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
>ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
>
>
Feel like theese messages should not be there, could be a bug in cs46xx
driver.
>I am wondering about the status, as there is still this comment in cs64xx_lib.c:
>---------------------------
> /* CD mute change ? */
>
> /* Benny: this hack dont seems to make any sense to me, at least on the
>Game Theater XP,
> Turning of the amplifier just make the PCM sound very distorcionated. is this really needed ????????????????
> */
>---------------------------
>
>
>
Should only matter if you unmute the analog CD input, and with the new
DSP code it dont matter at all.
/Benny
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* FIX: soundblaster rear channels (ens1371)
2003-01-16 23:11 ` Benny Sjostrand
@ 2003-01-17 0:04 ` Pieter Palmers
2003-01-17 9:55 ` Takashi Iwai
2003-01-17 0:38 ` cs64xx distortion (GameTheater XP) Richard Olsson
2003-01-18 11:13 ` Christian Esken
2 siblings, 1 reply; 20+ messages in thread
From: Pieter Palmers @ 2003-01-17 0:04 UTC (permalink / raw)
To: alsa-devel; +Cc: Jaroslav Kysela
Finally I figured out how to enable the rear channel separately from the front
on the creative labs CT5880 (= modified ens1371 as it seems).
I'll describe the settings to enable this, but I'm not going to submit a
patch, as I have noticed that I messed up my ens1370.c too much, and I can't
get a clean version because CVS doesn't work. It's a minor change, so I
assume it can be done by the maintainers.
The whole thing is in three bits in the BASE+0x04 register (ES_REG_STATUS in
the driver). These bits are bit27, bit26 and bit24
There are three modes of operation:
1) No rear output: bit27=bit26=bit24=0
2) rear output is a mirror of the main output, but controlled by the
'surround' slider of the mixer. I assume the ens1371 mixes the two 'devices'
and sends the mix to both MAIN and SURROUND DAC. This mode is selected by
setting bit27=bit24=0 and bit26=1
3) independant rear (surround) and front output. Using the current driver,
this has the strange side-effect that HW:0,0 becomes the rear output and
HW:0,1 becomes the front. So HW:0,0 is controlled by the 'surround' mixer
control, and HW:1,0 is controlled by the PCM and Master mixer controls. To
select this mode set bit27=bit24=1 and bit26=0. It seems that bit27=1 and
bit24=bit26=0 is identical, but the windows driver clearly does the first, so
why not? It works...
front only, no rear: bit27=0 bit26=0 bit24=0
rear mirrors front: bit27=0 bit26=1 bit24=0
front & rear independant: bit27=1 bit26=0 bit24=1 (x?)
I patched my driver by inserting the following code around line 1947:
(I included two lines of overlap to make the location easier to find)
=============================================
outb(ensoniq->uartc = 0x00, ES_REG(ensoniq, UART_CONTROL));
outb(0x00, ES_REG(ensoniq, UART_RES));
#ifdef CHIP1371
/* enable the rear outputs
This seems to work
ensoniq->cssr |= (0 << 27) | (1 << 24);
but the windows driver does this, so let's
also do it */
ensoniq->cssr |= (1 << 27) | (1 << 24);
/*
Use this for mirror mode
ensoniq->cssr |= (1 << 26);*/
#endif
outl(ensoniq->cssr, ES_REG(ensoniq, STATUS));
#if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE)
=============================================
Maybe there is a better place to put this? I don't know... I put it in the
snd_ensoniq_create() function because I always want 4ch output, and I don't
see the use of the other modes in an ALSA enviroment.
Regards,
Pieter
PS: I'm also developing a driver for my Maxisound ISIS, where do I look for
information on ALSA/linux driver developement? Does anyone have a 'template'
ALSA driver?
Does ALSA support non-DMA audio transfer? I believe the ISIS uses this kind of
transfers, but I don't know for sure yet. I know it's stupid design not to
use DMA, but there is nothing to do about it I guess.
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP)
2003-01-16 23:11 ` Benny Sjostrand
2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers
@ 2003-01-17 0:38 ` Richard Olsson
2003-01-18 11:13 ` Christian Esken
2 siblings, 0 replies; 20+ messages in thread
From: Richard Olsson @ 2003-01-17 0:38 UTC (permalink / raw)
To: alsa-devel
Benny Sjostrand <gorm@cucumelo.org> wrote:
> My opinion: the GameTheater XP it's a cheap soundcard with a beautiful
> blue box. Usually cheap soundcard got a cheap design as result of a
> tiny bugdet, so just dont expect to much from the analog part's.
Constantly saying that it's a cheap soundcard isn't really a solution
though. While it might not be a card suited for an audiophile it's
certainly better than several other cards out there. And the Windows
drivers don't have any problems like this. ;)
My GTXP works well enough though, though sound does get disorted/etc
when using more than ~80% volume as well. I hardly see that as a
problem though.
--
Richard Olsson
E: flame@home.se
W: http://www.nyo-box.net/
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers
@ 2003-01-17 9:55 ` Takashi Iwai
2003-01-17 10:36 ` Pieter Palmers
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Takashi Iwai @ 2003-01-17 9:55 UTC (permalink / raw)
To: Pieter Palmers; +Cc: alsa-devel, Jaroslav Kysela, Uros Bizjak
At Fri, 17 Jan 2003 01:04:40 +0100,
Pieter Palmers wrote:
>
> Finally I figured out how to enable the rear channel separately from the front
> on the creative labs CT5880 (= modified ens1371 as it seems).
great! thanks for your work!
> I'll describe the settings to enable this, but I'm not going to submit a
> patch, as I have noticed that I messed up my ens1370.c too much, and I can't
> get a clean version because CVS doesn't work. It's a minor change, so I
> assume it can be done by the maintainers.
>
> The whole thing is in three bits in the BASE+0x04 register (ES_REG_STATUS in
> the driver). These bits are bit27, bit26 and bit24
> There are three modes of operation:
> 1) No rear output: bit27=bit26=bit24=0
> 2) rear output is a mirror of the main output, but controlled by the
> 'surround' slider of the mixer. I assume the ens1371 mixes the two 'devices'
> and sends the mix to both MAIN and SURROUND DAC. This mode is selected by
> setting bit27=bit24=0 and bit26=1
> 3) independant rear (surround) and front output. Using the current driver,
> this has the strange side-effect that HW:0,0 becomes the rear output and
> HW:0,1 becomes the front. So HW:0,0 is controlled by the 'surround' mixer
> control, and HW:1,0 is controlled by the PCM and Master mixer
> controls.
this is because we are using DAC2 for the hw:0,0 and DAC1 for hw:0,1.
i'm not sure why it is.
Jaroslav, is there any drawback to use DAC1 as default playback?
(i know that the OSS driver uses this order, too.)
> To
> select this mode set bit27=bit24=1 and bit26=0. It seems that bit27=1 and
> bit24=bit26=0 is identical, but the windows driver clearly does the first, so
> why not? It works...
>
> front only, no rear: bit27=0 bit26=0 bit24=0
> rear mirrors front: bit27=0 bit26=1 bit24=0
> front & rear independant: bit27=1 bit26=0 bit24=1 (x?)
>
>
> I patched my driver by inserting the following code around line 1947:
> (I included two lines of overlap to make the location easier to find)
> =============================================
> outb(ensoniq->uartc = 0x00, ES_REG(ensoniq, UART_CONTROL));
> outb(0x00, ES_REG(ensoniq, UART_RES));
>
> #ifdef CHIP1371
> /* enable the rear outputs
> This seems to work
> ensoniq->cssr |= (0 << 27) | (1 << 24);
> but the windows driver does this, so let's
> also do it */
>
> ensoniq->cssr |= (1 << 27) | (1 << 24);
>
> /*
> Use this for mirror mode
> ensoniq->cssr |= (1 << 26);*/
> #endif
>
> outl(ensoniq->cssr, ES_REG(ensoniq, STATUS));
> #if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE)
> =============================================
>
> Maybe there is a better place to put this? I don't know... I put it in the
> snd_ensoniq_create() function because I always want 4ch output, and I don't
> see the use of the other modes in an ALSA enviroment.
it would be better to create new controls, and changing the controls
via hook in the pcm configuration.
> Regards,
>
> Pieter
>
> PS: I'm also developing a driver for my Maxisound ISIS, where do I look for
> information on ALSA/linux driver developement? Does anyone have a 'template'
> ALSA driver?
there is a tutorial,
http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html
the docbook source is found in alsa-kernel/Documentation/DocBook.
> Does ALSA support non-DMA audio transfer? I believe the ISIS uses this kind of
> transfers, but I don't know for sure yet. I know it's stupid design not to
> use DMA, but there is nothing to do about it I guess.
yes, but the implementation depends on the driver.
you can use tasklet for transferring the data e.g. via io-port
read/write.
Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS
uses a similar (same?) chip. he might be able to help the development
of this driver.
ciao,
Takashi
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 9:55 ` Takashi Iwai
@ 2003-01-17 10:36 ` Pieter Palmers
2003-01-17 10:48 ` Takashi Iwai
2003-01-17 11:32 ` Jaroslav Kysela
2003-01-17 12:00 ` Uros Bizjak
2 siblings, 1 reply; 20+ messages in thread
From: Pieter Palmers @ 2003-01-17 10:36 UTC (permalink / raw)
To: alsa-devel
>>
>> Finally I figured out how to enable the rear channel separately from the
front
>> on the creative labs CT5880 (= modified ens1371 as it seems).
>great! thanks for your work!
no problem.
Thank you guys for your work. Figuring this out took me half a day. I'm sure
that you guys all spent more than that on this project. I'm happy to be able
to help out. I wanted the rear channels to work, and so I tried it myself.
Now everybody can benifit from this work. Isn't this the way open-source
works? take a lot - give what you can
> Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS
> uses a similar (same?) chip. he might be able to help the development
> of this driver.
>
The ISIS uses the successor of the SAM9407, the SAM9707. Differences seem to
be minor (only the fact that it supports 6 extra channels).
The problem is that it is an ISA chip, and they used a 'creative' way of
building a PCI card with it: They built a card based on the ESS Maestro-2EM,
which is an Maestro-2E with an additional 'modem dsp' port, i.e. an ISA port.
They used this port to connect the SAM chip.
So actually it would be helpfull if I had someone with ESS Maestro experience.
I'm wondering if it's possible to set up a DMA transfer to the modem port.
The Maestro is (in my opinion) a pretty compicated device so I think it might
be possible.
Any Maestro-connaiseurs on this list?
Pieter
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 10:36 ` Pieter Palmers
@ 2003-01-17 10:48 ` Takashi Iwai
0 siblings, 0 replies; 20+ messages in thread
From: Takashi Iwai @ 2003-01-17 10:48 UTC (permalink / raw)
To: Pieter Palmers; +Cc: alsa-devel
At Fri, 17 Jan 2003 11:23:42 +0100,
Pieter Palmers wrote:
>
> > Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS
> > uses a similar (same?) chip. he might be able to help the development
> > of this driver.
> >
> The ISIS uses the successor of the SAM9407, the SAM9707. Differences seem to
> be minor (only the fact that it supports 6 extra channels).
>
> The problem is that it is an ISA chip, and they used a 'creative' way of
> building a PCI card with it: They built a card based on the ESS Maestro-2EM,
> which is an Maestro-2E with an additional 'modem dsp' port, i.e. an ISA port.
> They used this port to connect the SAM chip.
>
> So actually it would be helpfull if I had someone with ESS Maestro experience.
> I'm wondering if it's possible to set up a DMA transfer to the modem port.
> The Maestro is (in my opinion) a pretty compicated device so I think it might
> be possible.
> Any Maestro-connaiseurs on this list?
well, i'm the maintainer of es1968 driver, but the driver is atm not
well maintained. the chip is yes a bit complicated but the problem is
lack of proper documents. there is a data sheet but it doesn't
describe any essential parts. and we have only a crappy buggy DOS
example code...
anyway, please let me know if you have any questions.
ciao,
Takashi
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 9:55 ` Takashi Iwai
2003-01-17 10:36 ` Pieter Palmers
@ 2003-01-17 11:32 ` Jaroslav Kysela
2003-01-17 12:11 ` Pieter Palmers
2003-01-17 12:00 ` Uros Bizjak
2 siblings, 1 reply; 20+ messages in thread
From: Jaroslav Kysela @ 2003-01-17 11:32 UTC (permalink / raw)
To: Takashi Iwai
Cc: Pieter Palmers, alsa-devel@lists.sourceforge.net, Uros Bizjak
On Fri, 17 Jan 2003, Takashi Iwai wrote:
> this is because we are using DAC2 for the hw:0,0 and DAC1 for hw:0,1.
> i'm not sure why it is.
>
> Jaroslav, is there any drawback to use DAC1 as default playback?
> (i know that the OSS driver uses this order, too.)
This switch was for ENS1370 chip which has DAC0 rates a bit restricted.
I've reversed streams for ENS1371.
> > To
> > select this mode set bit27=bit24=1 and bit26=0. It seems that bit27=1 and
> > bit24=bit26=0 is identical, but the windows driver clearly does the first, so
> > why not? It works...
> >
> > front only, no rear: bit27=0 bit26=0 bit24=0
> > rear mirrors front: bit27=0 bit26=1 bit24=0
> > front & rear independant: bit27=1 bit26=0 bit24=1 (x?)
> >
> >
> > I patched my driver by inserting the following code around line 1947:
> > (I included two lines of overlap to make the location easier to find)
> > =============================================
> > outb(ensoniq->uartc = 0x00, ES_REG(ensoniq, UART_CONTROL));
> > outb(0x00, ES_REG(ensoniq, UART_RES));
> >
> > #ifdef CHIP1371
> > /* enable the rear outputs
> > This seems to work
> > ensoniq->cssr |= (0 << 27) | (1 << 24);
> > but the windows driver does this, so let's
> > also do it */
> >
> > ensoniq->cssr |= (1 << 27) | (1 << 24);
> >
> > /*
> > Use this for mirror mode
> > ensoniq->cssr |= (1 << 26);*/
> > #endif
> >
> > outl(ensoniq->cssr, ES_REG(ensoniq, STATUS));
> > #if defined(CONFIG_GAMEPORT) || defined(CONFIG_GAMEPORT_MODULE)
> > =============================================
> >
> > Maybe there is a better place to put this? I don't know... I put it in the
> > snd_ensoniq_create() function because I always want 4ch output, and I don't
> > see the use of the other modes in an ALSA enviroment.
>
> it would be better to create new controls, and changing the controls
> via hook in the pcm configuration.
Done. Pieter, can you try the latest CVS source. When surround DAC is
found, there should be 'AC97 2ch->4ch Copy Switch' which controls
mirroring / separating channels. The front only configuration will be
used only for cards with no surround DAC. Thank you for your work.
Please, update also alsa-lib and test these commands:
aplay -Drear <some.wav>
aplay -Dplug:surround40 <some.wav>
Jaroslav
-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 9:55 ` Takashi Iwai
2003-01-17 10:36 ` Pieter Palmers
2003-01-17 11:32 ` Jaroslav Kysela
@ 2003-01-17 12:00 ` Uros Bizjak
2003-01-17 12:47 ` support for SAM940x based cards Pieter Palmers
2 siblings, 1 reply; 20+ messages in thread
From: Uros Bizjak @ 2003-01-17 12:00 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Pieter Palmers, alsa-devel, Jaroslav Kysela
Takashi Iwai wrote:
>>Does ALSA support non-DMA audio transfer? I believe the ISIS uses this kind of
>>transfers, but I don't know for sure yet. I know it's stupid design not to
>>use DMA, but there is nothing to do about it I guess.
>>
>>
>
>yes, but the implementation depends on the driver.
>you can use tasklet for transferring the data e.g. via io-port
>read/write.
>
>Uros has been working on the ALSA SAM9407 driver, and IIRC, maxi ISIS
>uses a similar (same?) chip. he might be able to help the development
>of this driver.
>
Yes, I have working code to communicate with SAM9407 chip (microcode
loading,
memory management, channel allocation, control interface, etc) and I
have just start
working on PCM interface. Unfortunatelly, I haven't got any time to
implement
PCM routines, but all the low-level routines are in place. The code is
written for older
0.9.x version of ALSA (as I didn't yet port it to latest CVS).
If anybody is interested in helping with this project, I would gladly
share my (partially
functional) code. Code is tested with EWS64XL (PnP detection of SAM9407,
i2c stuff
and TEA chips are working OK), has many comments, and basically just
waits for someone to
"fill in the blanks" on PCM part.
Regarding sam9407: When you set up PCM channel and start transfer,
chip will signal to driver,
when it is ready to receive data. Following this signal, you send data
block with outsw()/insw()
command and terminate transfer with chip-specific message sent to
SAM9407 control port. Some
kind of pseudo DMA.
Uros.
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 12:11 ` Pieter Palmers
@ 2003-01-17 12:10 ` Takashi Iwai
2003-01-17 12:18 ` Pieter Palmers
2003-01-17 14:08 ` Jaroslav Kysela
1 sibling, 1 reply; 20+ messages in thread
From: Takashi Iwai @ 2003-01-17 12:10 UTC (permalink / raw)
To: Pieter Palmers
Cc: Jaroslav Kysela, alsa-devel@lists.sourceforge.net, Uros Bizjak
At Fri, 17 Jan 2003 13:11:12 +0100,
Pieter Palmers wrote:
>
> >
> > Done. Pieter, can you try the latest CVS source. When surround DAC is
> > found, there should be 'AC97 2ch->4ch Copy Switch' which controls
> > mirroring / separating channels. The front only configuration will be
> > used only for cards with no surround DAC. Thank you for your work.
> >
>
> CVS refuses connection:
>
> [ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login
> Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa
> CVS password:
> cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused
yes, the problem seems on the sf site.
please try cvs snapshot available on the alsa ftp.
Takashi
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 11:32 ` Jaroslav Kysela
@ 2003-01-17 12:11 ` Pieter Palmers
2003-01-17 12:10 ` Takashi Iwai
2003-01-17 14:08 ` Jaroslav Kysela
0 siblings, 2 replies; 20+ messages in thread
From: Pieter Palmers @ 2003-01-17 12:11 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai
Cc: alsa-devel@lists.sourceforge.net, Uros Bizjak
>
> Done. Pieter, can you try the latest CVS source. When surround DAC is
> found, there should be 'AC97 2ch->4ch Copy Switch' which controls
> mirroring / separating channels. The front only configuration will be
> used only for cards with no surround DAC. Thank you for your work.
>
CVS refuses connection:
[ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login
Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa
CVS password:
cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused
[ppalmers@ox ppalmers]$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa co alsa-driver
cvs [checkout aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused
Web based access also refuses service:
An error occured while loading http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/alsa:
Timeout on server
cvs.sourceforge.net
Pieter
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 12:10 ` Takashi Iwai
@ 2003-01-17 12:18 ` Pieter Palmers
0 siblings, 0 replies; 20+ messages in thread
From: Pieter Palmers @ 2003-01-17 12:18 UTC (permalink / raw)
To: Takashi Iwai
Cc: Jaroslav Kysela, alsa-devel@lists.sourceforge.net, Uros Bizjak
>
> yes, the problem seems on the sf site.
> please try cvs snapshot available on the alsa ftp.
>
snapshots on the ftp site are of size 0Mb since 15-1-2003.
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* support for SAM940x based cards
2003-01-17 12:00 ` Uros Bizjak
@ 2003-01-17 12:47 ` Pieter Palmers
2003-01-17 13:09 ` Uros Bizjak
0 siblings, 1 reply; 20+ messages in thread
From: Pieter Palmers @ 2003-01-17 12:47 UTC (permalink / raw)
To: Uros Bizjak, Takashi Iwai; +Cc: alsa-devel, Jaroslav Kysela
> Yes, I have working code to communicate with SAM9407 chip (microcode
> loading,
> memory management, channel allocation, control interface, etc) and I
> have just start
> working on PCM interface. Unfortunatelly, I haven't got any time to
> implement
> PCM routines, but all the low-level routines are in place. The code is
> written for older
> 0.9.x version of ALSA (as I didn't yet port it to latest CVS).
>
> If anybody is interested in helping with this project, I would gladly
> share my (partially
> functional) code. Code is tested with EWS64XL (PnP detection of SAM9407,
> i2c stuff
> and TEA chips are working OK), has many comments, and basically just
> waits for someone to
> "fill in the blanks" on PCM part.
>
I would surely be interested in this code. I think a lot of code can be shared
between the cards. The transfer mechanism of the ISIS different, but I think
it can fit into a general approach i.e. a generic driver for the SAM970x chip
supported by an 'architecture dependant' driver.
The isis uses the maestro as a PCI to ISA bride and transfers from/to the chip
should be done like this:
(disassembled source at http:/isisalsa.sourceforge.net/assembler.htm)
registers involved:
MAESTRO_BASE + 44h: address of the ISA port (IDMA in ESS terminology) on the
maestro.
MAESTRO_BASE + 46h: data register for the ISA port
so basically transfers come down to this: (disassembled from win drivers)
mov ax, 1 ; address 0x01 is the SAM control port
mov dx, MAESTRO_BASE
add dx, 44h
out dx, ax ; select control port
mov dx, MAESTRO_BASE
add dx, 46h ; switch to data register
in ax, dx ; read value
by the way: does anyone know why they don't do it like this:
mov ax, 1 ; address 0x01 is the SAM control port
mov dx, MAESTRO_BASE
add dx, 44h
out dx, ax ; select control port
add dx, 02h ; switch to data register
in ax, dx ; read value
compiler issue?
to illustrate this even further, consider this piece of code also
disassembled from the win driver:
looppoint1:
mov dx, 1
push dx
mov ax, dx
mov dx, MAESTRO_BASE
add dx, 44h ; Add
out dx, ax ; control port
mov dx, MAESTRO_BASE
add dx, 46h ; Add
in ax, dx ; read port
and ax, 0FFh ; keep lower 8 bits
* push ax
* mov ax, 2
* mov dx, MAESTRO_BASE
* add dx, 44h ; Add
* out dx, ax ; DATA16 port
* pop ax
pop dx
test al, 80h ; is TE=0 ?
jz short read_word ; TE = 1 => data present
loop looppoint1 ; Loop while CX != 0
I marked the strange part of the code with an asterix. Isn't this pure
overhead?
that aside, let's get back to the main issue...
The actual PCM data transfer is done with a 'repsw outw' command as sayd by
Uros. Something like:
mov dx, 2
mov dx, MAESTRO_BASE
add dx, 44h ; Add
out dx, ax ; DATA16 port
mov dx, MAESTRO_BASE
add dx, 46h ; Add
repsw outw ... (forgot syntax)
I wondered if it isn't possible to use the Maestro DMA capability to transfer
the large chunks from main memory to the ISA/IDMA port independant from CPU?
Do we have any information on this 'DSP modem' or IDMA port on the Maestro
family? (I assume that ESS hasn't changed that much between Maestro
generations)
Pieter
PS: I have the sourcecode of the Hoontech ST128 windows drivers (both 9x and
WDM). If you want them, you can download them at
http://isisalsa.sourceforge.net. These cards are based on SAM940x chips.
PPS: What do you think of the statement that this type of transfer isn't
supported in WinXP/NT due to the HAL that OS uses? This is the justification
of Guillemot not to provide WinXP drivers.
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: support for SAM940x based cards
2003-01-17 12:47 ` support for SAM940x based cards Pieter Palmers
@ 2003-01-17 13:09 ` Uros Bizjak
0 siblings, 0 replies; 20+ messages in thread
From: Uros Bizjak @ 2003-01-17 13:09 UTC (permalink / raw)
To: Pieter Palmers; +Cc: Takashi Iwai, alsa-devel, Jaroslav Kysela
Pieter Palmers wrote:
>> Yes, I have working code to communicate with SAM9407 chip (microcode
>>loading,
>>memory management, channel allocation, control interface, etc) and I
>>have just start
>>working on PCM interface. Unfortunatelly, I haven't got any time to
>>implement
>>PCM routines, but all the low-level routines are in place. The code is
>>written for older
>>0.9.x version of ALSA (as I didn't yet port it to latest CVS).
>>
>> If anybody is interested in helping with this project, I would gladly
>>share my (partially
>>functional) code. Code is tested with EWS64XL (PnP detection of SAM9407,
>>i2c stuff
>>and TEA chips are working OK), has many comments, and basically just
>>waits for someone to
>>"fill in the blanks" on PCM part.
>>
>>
>>
>
>I would surely be interested in this code. I think a lot of code can be shared
>between the cards. The transfer mechanism of the ISIS different, but I think
>it can fit into a general approach i.e. a generic driver for the SAM970x chip
>supported by an 'architecture dependant' driver.
>
I have prepared a snapshot of my sam9407 directory at
www2.arnes.si/~krklubsls1/sam9407-19.Dec.2002-NW.tar.gz
This code has been in working state a couple of months ago, but now it
is broken because of not-yet-finished PCM changes.
BTW: I have uploaded some documents found on various sites regarding
sam9407 programming:
www2.arnes.si/~krklubsls1/TTFirm.ps
www2.arnes.si/~krklubsls1/progref.ps
And, there are linux drivers (OSS) - also for ISIS - on
http://www.anime.net/~sam9407/
Uros.
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 12:11 ` Pieter Palmers
2003-01-17 12:10 ` Takashi Iwai
@ 2003-01-17 14:08 ` Jaroslav Kysela
2003-01-17 14:14 ` Takashi Iwai
1 sibling, 1 reply; 20+ messages in thread
From: Jaroslav Kysela @ 2003-01-17 14:08 UTC (permalink / raw)
To: Pieter Palmers; +Cc: Takashi Iwai, alsa-devel@lists.sourceforge.net
On Fri, 17 Jan 2003, Pieter Palmers wrote:
>
> >
> > Done. Pieter, can you try the latest CVS source. When surround DAC is
> > found, there should be 'AC97 2ch->4ch Copy Switch' which controls
> > mirroring / separating channels. The front only configuration will be
> > used only for cards with no surround DAC. Thank you for your work.
> >
>
> CVS refuses connection:
>
> [ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login
> Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa
> CVS password:
> cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused
>
> [ppalmers@ox ppalmers]$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa co alsa-driver
> cvs [checkout aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused
>
> Web based access also refuses service:
>
> An error occured while loading http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/alsa:
>
> Timeout on server
> cvs.sourceforge.net
Everything works from here...
Jaroslav
-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: FIX: soundblaster rear channels (ens1371)
2003-01-17 14:08 ` Jaroslav Kysela
@ 2003-01-17 14:14 ` Takashi Iwai
0 siblings, 0 replies; 20+ messages in thread
From: Takashi Iwai @ 2003-01-17 14:14 UTC (permalink / raw)
To: Jaroslav Kysela; +Cc: Pieter Palmers, alsa-devel@lists.sourceforge.net
At Fri, 17 Jan 2003 15:08:45 +0100 (CET),
Jaroslav Kysela wrote:
>
> On Fri, 17 Jan 2003, Pieter Palmers wrote:
>
> >
> > >
> > > Done. Pieter, can you try the latest CVS source. When surround DAC is
> > > found, there should be 'AC97 2ch->4ch Copy Switch' which controls
> > > mirroring / separating channels. The front only configuration will be
> > > used only for cards with no surround DAC. Thank you for your work.
> > >
> >
> > CVS refuses connection:
> >
> > [ppalmers@ox ppalmers]$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa login
> > Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/alsa
> > CVS password:
> > cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused
> >
> > [ppalmers@ox ppalmers]$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/alsa co alsa-driver
> > cvs [checkout aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401 failed: Connection refused
> >
> > Web based access also refuses service:
> >
> > An error occured while loading http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/alsa:
> >
> > Timeout on server
> > cvs.sourceforge.net
>
> Everything works from here...
yeah, it works again!
Takashi
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP)
2003-01-16 23:11 ` Benny Sjostrand
2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers
2003-01-17 0:38 ` cs64xx distortion (GameTheater XP) Richard Olsson
@ 2003-01-18 11:13 ` Christian Esken
2003-01-18 16:06 ` Benny Sjostrand
2 siblings, 1 reply; 20+ messages in thread
From: Christian Esken @ 2003-01-18 11:13 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: alsa-devel
Am Friday 17 January 2003 00:11 schrieb Benny Sjostrand:
> >I wonder what the status of the cs64xx distortion problem is.
> >I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
>
> My opinion: the GameTheater XP it's a cheap soundcard with a beautiful
> blue box. Usually cheap soundcard got a cheap design as result of a tiny
> bugdet, so just dont expect to much from the analog part's.
I don't buy this opinion! Measurements published in sound card tests show
a pretty good sound quality.
But apart from that: The sound quality in Linux has NOTHING to do with
the capabilities of the card (as it has no problems under Windwos):
- Sound quality of the card: good (or fair or whatever you like)
- Sound quality under Linux: very very very very bad.
> Actually I got a Hercules GameTheater XP 6.1, when volume is over about
> a ~80% the output is sometimes distorcionated, but I believe that's
> something we cant do anything about in the driver. Limit some volume
> control's in the driver dont feel like a coherent solution.
>
> The card is still usable, I really dont expect to better quality on
> analog output with this soundcard.
Alas - my GameTheater XP 7.1 is not (except digital output).
So if this problem is a known issue, sholdn't there be a hint in the
Alsa Sound Card Matrix. I don't blame anybody (except perhaps
CS), but I think others should be warned on possible problems.
Chris
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your
clients even if they use browsers that are limited to 40 bit encryption.
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP)
2003-01-18 11:13 ` Christian Esken
@ 2003-01-18 16:06 ` Benny Sjostrand
2003-01-18 18:04 ` Friedrich Ewaldt
0 siblings, 1 reply; 20+ messages in thread
From: Benny Sjostrand @ 2003-01-18 16:06 UTC (permalink / raw)
To: Christian Esken; +Cc: alsa-devel
>
>
>I don't buy this opinion! Measurements published in sound card tests show
>a pretty good sound quality.
>
>
Thoose review usually compares the Hercules GTXP with the Sounblaster
Audigy with breakout box. But about personal soundcard opinions is
something I think we should discuss outside this mailinglist ...
>But apart from that: The sound quality in Linux has NOTHING to do with
>the capabilities of the card (as it has no problems under Windwos):
>- Sound quality of the card: good (or fair or whatever you like)
>
We dont't known what kind of dirty is hack's possibly could be
implemented in the Windows driver to compensate the bad sound. We know
that the DSP is able to do much more that actually is done in the Linux
driver, reverb effects, delay, band pass filters, mp3 decoding etc. For
example what about having a light reverb effect on front speakers, and a
little bit more reverb on rear speakers + some delay, and let's limit
the volume controls a little bit to get rid of the a possible
distorcion, and some few band pass filters. Do you think that would
improve the sound quality ?
What actually Hercules sells is more SW than HW, there is about three
version of the Hercules GTXP 5.1, 6.1, 7.1 The the only difference
between theese cards seems to be the delivered SW (which you probably
never will use under Linux)
I dont discard posibility that there's something specific about the GTXP
hw, that we dont know and we should know that could improve sound, but I
believe that this posibilty is very small.
>- Sound quality under Linux: very very very very bad.
>
>
It's possible to get good sound quality under Linux with the GTXP, if
you use an external amplifier, some options that I can mention:
- External receiver with digital in, using the SPDIF output
- External receiver using the analog inputs, using the un-amplified
outputs from the GTXP
- Use any kind of active speakers (speakers with it's own amplifier
built-in)
Just dont rely to much on the soundcard amplifier.
>So if this problem is a known issue, sholdn't there be a hint in the
>Alsa Sound Card Matrix. I don't blame anybody (except perhaps
>CS), but I think others should be warned on possible problems.
>
>
>
If we think that this is a problem in the driver that can be fixed in
the driver.
/Benny
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your
clients even if they use browsers that are limited to 40 bit encryption.
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: cs64xx distortion (GameTheater XP)
2003-01-18 16:06 ` Benny Sjostrand
@ 2003-01-18 18:04 ` Friedrich Ewaldt
0 siblings, 0 replies; 20+ messages in thread
From: Friedrich Ewaldt @ 2003-01-18 18:04 UTC (permalink / raw)
To: Benny Sjostrand; +Cc: Christian Esken, alsa-devel
Benny Sjostrand wrote:
> We dont't known what kind of dirty is hack's possibly could be
> implemented in the Windows driver to compensate the bad sound. We
> know that the DSP is able to do much more that actually is done in the
> Linux driver, reverb effects, delay, band pass filters, mp3 decoding
> etc. For example what about having a light reverb effect on front
> speakers, and a little bit more reverb on rear speakers + some delay,
> and let's limit the volume controls a little bit to get rid of the a
> possible distorcion, and some few band pass filters. Do you think that
> would improve the sound quality ?
>
> What actually Hercules sells is more SW than HW, there is about three
> version of the Hercules GTXP 5.1, 6.1, 7.1 The the only difference
> between theese cards seems to be the delivered SW (which you probably
> never will use under Linux)
>
> I dont discard posibility that there's something specific about the
> GTXP hw, that we dont know and we should know that could improve
> sound, but I believe that this posibilty is very small.
I didn't hear this 'bad' sound quality of the GTXP because I've a cs46xx
based terratec DMX XFire. The sound quality of the XFire is exactly the
same as under windows, i.e. much better than a cheap $10 soundcard.
There's not much hardware on the XFire: Basically just the CS4624, a
CS4294 codec and two LM386 amplifiers (very cheap 1 watt amps). The
windows driver of the XFire doesn't change the sound in any way like
adding reverberation, stereo expanding or equalizing (It does only, if
you tell it to do), i.e. the card acts as a transparent system that just
outputs every sample like it was told by any application. I think that
will be also the case for the GTXP under windows (but I can't check as I
don't own this card). There seem to be other hardware components on the
GTXP wich are not correctly initialized.
>
>> - Sound quality under Linux: very very very very bad.
>>
>>
> It's possible to get good sound quality under Linux with the GTXP, if
> you use an external amplifier, some options that I can mention:
> - External receiver with digital in, using the SPDIF output
> - External receiver using the analog inputs, using the un-amplified
> outputs from the GTXP
> - Use any kind of active speakers (speakers with it's own amplifier
> built-in)
>
> Just dont rely to much on the soundcard amplifier.
If the GTXP is used in the same way as under windows (e.g. line output
connected to external amp or active speakers), the sound quality should
be more or less the same.
As Christian says the sound quality is very ve...ry bad, I think it must
be related with card initialization (something like the DC offset
problem with the XFire or a not powered up amplifier).
I do not think that the driver has to do some equalization to get good
quality. The hardware on this card should deliver good quality without
software tricks. (Of course correct initialization is necessary which
could perhaps easily done *with some more help provided by this "Cirrus"
company*).
Chrisian, perhaps you can specify/describe the type of distortion more
precisely so that it's easier to guess the reason for the bad sound.
Does it sound like overload?
Is the output unequalized, i.e. lack of low or high frequency components.
Are quiet sounds also/more/less distorted? Especially: Are sounds below
a volume threshold not ouput, quite sounds totally muted?
You reported that lowering pcm/master volume makes the quality somewhat
better. What about playing back quiet sounds with pcm/master volume
turned up compared to playing back loud sounds with pcm/master volume
turned down?
Do you get different quality depending on the analog output used (line
out with external amp compered to speaker output)?
I don't know about the possibility of the GTXP to power down the
internal amps. If the sound at line output is ok, that could be the
reason for the bad quality.
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your
clients even if they use browsers that are limited to 40 bit encryption.
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2003-01-18 18:04 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-15 23:14 cs64xx distortion (GameTheater XP) Christian Esken
2003-01-16 10:24 ` Takashi Iwai
2003-01-16 23:11 ` Benny Sjostrand
2003-01-17 0:04 ` FIX: soundblaster rear channels (ens1371) Pieter Palmers
2003-01-17 9:55 ` Takashi Iwai
2003-01-17 10:36 ` Pieter Palmers
2003-01-17 10:48 ` Takashi Iwai
2003-01-17 11:32 ` Jaroslav Kysela
2003-01-17 12:11 ` Pieter Palmers
2003-01-17 12:10 ` Takashi Iwai
2003-01-17 12:18 ` Pieter Palmers
2003-01-17 14:08 ` Jaroslav Kysela
2003-01-17 14:14 ` Takashi Iwai
2003-01-17 12:00 ` Uros Bizjak
2003-01-17 12:47 ` support for SAM940x based cards Pieter Palmers
2003-01-17 13:09 ` Uros Bizjak
2003-01-17 0:38 ` cs64xx distortion (GameTheater XP) Richard Olsson
2003-01-18 11:13 ` Christian Esken
2003-01-18 16:06 ` Benny Sjostrand
2003-01-18 18:04 ` Friedrich Ewaldt
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.