All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: ESS 1688
       [not found]   ` <47C13E03.8000903@keyaccess.nl>
@ 2008-02-24 13:23     ` Rene Herman
  0 siblings, 0 replies; only message in thread
From: Rene Herman @ 2008-02-24 13:23 UTC (permalink / raw)
  To: Hans Ekbrand; +Cc: alsa-user, ALSA devel

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

On 24-02-08 10:50, Rene Herman wrote:

> Not yet, but I confirm the bug. I'll try and see of I can locate
> anything. No ETA available.

Can you try if applying the attached makes things work as you'd expect with 
respect to the recording levels? Over here it seems to, although I get the 
feeling we might as well rename the control "Distortion Levels" as keeping 
it at 0 is the only sensible thing.

Even if this works, it's not a final fix, just to confirm. Given that you 
posted to alsa-user... if you're not setup to apply this patch (to any semi 
recent source) and recompile the driver I hope someone can help.

With respect to the duplex issue -- there seem to be no docs for 688 and 
1688 which is a bit of a problem.

Rene.

[-- Attachment #2: es1688_lib-reclev_dev.diff --]
[-- Type: text/plain, Size: 1984 bytes --]

diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
index 5c26d49..eb35267 100644
--- a/sound/isa/es1688/es1688_lib.c
+++ b/sound/isa/es1688/es1688_lib.c
@@ -368,9 +368,11 @@ static int snd_es1688_playback_prepare(struct snd_pcm_substream *substream)
 	struct snd_pcm_runtime *runtime = substream->runtime;
 	unsigned int size = snd_pcm_lib_buffer_bytes(substream);
 	unsigned int count = snd_pcm_lib_period_bytes(substream);
+	int tmp;
 
 	chip->dma_size = size;
 	spin_lock_irqsave(&chip->reg_lock, flags);
+	tmp = snd_es1688_read(chip, 0xb4);
 	snd_es1688_reset(chip);
 	snd_es1688_set_rate(chip, substream);
 	snd_es1688_write(chip, 0xb8, 4);	/* auto init DMA mode */
@@ -403,6 +405,7 @@ static int snd_es1688_playback_prepare(struct snd_pcm_substream *substream)
 	}
 	snd_es1688_write(chip, 0xb1, (snd_es1688_read(chip, 0xb1) & 0x0f) | 0x50);
 	snd_es1688_write(chip, 0xb2, (snd_es1688_read(chip, 0xb2) & 0x0f) | 0x50);
+	snd_es1688_write(chip, 0xb4, tmp);
 	snd_es1688_dsp_command(chip, ES1688_DSP_CMD_SPKON);
 	spin_unlock_irqrestore(&chip->reg_lock, flags);
 	/* --- */
@@ -429,9 +432,11 @@ static int snd_es1688_capture_prepare(struct snd_pcm_substream *substream)
 	struct snd_pcm_runtime *runtime = substream->runtime;
 	unsigned int size = snd_pcm_lib_buffer_bytes(substream);
 	unsigned int count = snd_pcm_lib_period_bytes(substream);
+	int tmp;
 
 	chip->dma_size = size;
 	spin_lock_irqsave(&chip->reg_lock, flags);
+	tmp = snd_es1688_read(chip, 0xb4);
 	snd_es1688_reset(chip);
 	snd_es1688_set_rate(chip, substream);
 	snd_es1688_dsp_command(chip, ES1688_DSP_CMD_SPKOFF);
@@ -461,6 +466,7 @@ static int snd_es1688_capture_prepare(struct snd_pcm_substream *substream)
 	}
 	snd_es1688_write(chip, 0xb1, (snd_es1688_read(chip, 0xb1) & 0x0f) | 0x50);
 	snd_es1688_write(chip, 0xb2, (snd_es1688_read(chip, 0xb2) & 0x0f) | 0x50);
+	snd_es1688_write(chip, 0xb4, tmp);
 	spin_unlock_irqrestore(&chip->reg_lock, flags);
 	/* --- */
 	count = -count;

[-- Attachment #3: Type: text/plain, Size: 228 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

[-- Attachment #4: Type: text/plain, Size: 158 bytes --]

_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2008-02-24 13:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.0.1203805307.22796.alsa-user@lists.sourceforge.net>
     [not found] ` <20080223232022.GA7656@amin>
     [not found]   ` <47C13E03.8000903@keyaccess.nl>
2008-02-24 13:23     ` ESS 1688 Rene Herman

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.