All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] pmac also apply the DMA stop work around to fix capture on iBook2
@ 2004-07-30 14:56 Rene Rebe
  2004-08-02 11:46 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Rene Rebe @ 2004-07-30 14:56 UTC (permalink / raw)
  To: alsa-devel

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

Hi all,

the attached patch for the pmac driver fixes capture for at least all 
iBook2s I have access to. Without the fix arround 33% percent of all 
recordings are just white noise.

Have fun,
  René Rebe

[-- Attachment #2: alsa-pmac2.patch --]
[-- Type: text/plain, Size: 992 bytes --]

--- ppc/pmac.c~	2004-07-30 14:14:36.643095880 +0200
+++ ppc/pmac.c	2004-07-30 14:16:47.039272648 +0200
@@ -224,15 +224,15 @@
 	/* We really want to execute a DMA stop command, after the AWACS
 	 * is initialized.
 	 * For reasons I don't understand, it stops the hissing noise
-	 * common to many PowerBook G3 systems (like mine :-).
+	 * common to many PowerBook G3 systems and random noise otherwise
+	 * captured on iBook2's about every third time. -ReneR
 	 */
 	spin_lock_irq(&chip->reg_lock);
 	snd_pmac_dma_stop(rec);
-	if (rec->stream == SNDRV_PCM_STREAM_PLAYBACK) {
-		st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP);
-		snd_pmac_dma_set_command(rec, &chip->extra_dma);
-		snd_pmac_dma_run(rec, RUN);
-	}
+	st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP);
+	snd_pmac_dma_set_command(rec, &chip->extra_dma);
+	snd_pmac_dma_run(rec, RUN);
+	mdelay(5);
 	/* continuous DMA memory type doesn't provide the physical address,
 	 * so we need to resolve the address here...
 	 */



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

end of thread, other threads:[~2004-08-02 11:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-30 14:56 [PATCH] pmac also apply the DMA stop work around to fix capture on iBook2 Rene Rebe
2004-08-02 11:46 ` 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.