Re: als4000: enable burst mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 04 August 2010 07:43:44 Takashi Iwai wrote:
> At Tue, 3 Aug 2010 23:57:05 +0200,
>
> Ondrej Zary wrote:
> > Enable burst mode to prevent dropouts during high PCI bus usage.
> > The card is useless in X without this because of dropouts when anything
> > moves on the screen (at least with PCI VGA card). Enabling this is also
> > recommended by the datasheet (page 48).
> >
> > Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>
>
> Applied now.  Thanks.

My previous patch assumed that the DMA mode (represented by 3 lowest bits of
ALS4K_GCR99_DMA_EMULATION_CTRL register) is set to the default value 0. If
that's not the case, it might result in invalid mode to be set. This v2 patch
fixes this potential problem.

Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>

--- linux-2.6.35-rc2/sound/pci/als4000.c	2010-06-06 05:43:24.000000000 +0200
+++ linux-2.6.35-rc3/sound/pci/als4000.c	2010-08-04 20:57:00.000000000 +0200
@@ -763,9 +763,9 @@ static void snd_als4000_configure(struct
 	/* SPECS_PAGE: 39 */
 	for (i = ALS4K_GCR91_DMA0_ADDR; i <= ALS4K_GCR96_DMA3_MODE_COUNT; ++i)
 		snd_als4k_gcr_write(chip, i, 0);
-	
+	/* enable burst mode to prevent dropouts during high PCI bus usage */
 	snd_als4k_gcr_write(chip, ALS4K_GCR99_DMA_EMULATION_CTRL,
-		snd_als4k_gcr_read(chip, ALS4K_GCR99_DMA_EMULATION_CTRL));
+		(snd_als4k_gcr_read(chip, ALS4K_GCR99_DMA_EMULATION_CTRL) & ~0x07) | 0x04);
 	spin_unlock_irq(&chip->reg_lock);
 }
 


-- 
Ondrej Zary
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux