[PATCH v4 1/4] omap: dma: Fix buffering disable bit setting for omap24xx

G, Manjunath Kondaiah manjugk at ti.com
Mon Oct 4 05:14:28 EDT 2010



> -----Original Message-----
> From: linux-omap-owner at vger.kernel.org 
> [mailto:linux-omap-owner at vger.kernel.org] On Behalf Of Peter Ujfalusi
> Sent: Monday, October 04, 2010 1:48 PM
> To: Tony Lindgren
> Cc: linux-omap at vger.kernel.org; Jarkko Nikula; 
> linux-arm-kernel at lists.infradead.org
> Subject: [PATCH v4 1/4] omap: dma: Fix buffering disable bit 
> setting for omap24xx
> 
> From: ext Jarkko Nikula <jhnikula at gmail.com>
> 
> An errata workaround for omap24xx is not setting the 
> buffering disable bit
> 25 what is the purpose but channel enable bit 7 instead.

...

> diff --git a/arch/arm/plat-omap/dma.c 
> b/arch/arm/plat-omap/dma.c index ec7eddf..6914ccf 100644
> --- a/arch/arm/plat-omap/dma.c
> +++ b/arch/arm/plat-omap/dma.c
> @@ -999,8 +999,9 @@ void omap_start_dma(int lch)
>  	 * Errata: On ES2.0 BUFFERING disable must be set.
>  	 * This will always fail on ES1.0
>  	 */

Sorry, I didn't catch this with earlier patch.

Looks like wrong comment. only on 2430ES1.0 and for all omap2420, 
buffer disable should be set. 
I feel below description will be useful to the reader:
"Errata: Inter Frame DMA buffering issue(All OMAP2420 and OMAP2430ES1.0):
DMA will wrongly buffer elements if packing and bursting is enabled.
This might result in data gets stalled in FIFO at the end of the block.
Workaround: DMA channels must have BUFFERING_DISABLED bit set to guarantee
no data will stay in the DMA FIFO in case inter frame buffering occurs.


-Manjunath


More information about the linux-arm-kernel mailing list