Re: [PATCH] ARM: OMAP3: DMA: Fix for sDMA Errata 1.113

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

 



* Shilimkar, Santosh <santosh.shilimkar@xxxxxx> [081001 14:09]:
> > -----Original Message-----
> > From: Shilimkar, Santosh 
> > Sent: Thursday, September 25, 2008 3:31 PM
> > To: linux-omap@xxxxxxxxxxxxxxx
> > Cc: Pandita, Vikram
> > Subject: [PATCH] ARM: OMAP3: DMA: Fix for sDMA Errata 1.113
> > 
> > From: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> > 
> > SDMA channel is not disabled after transaction error. So 
> > explicitly disable it.
> > 
> > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> > Acked By : Nishant kamat <nskamat@xxxxxx>
> > ---
> > Index: linux-omap-2.6/arch/arm/plat-omap/dma.c
> > ===================================================================
> > --- linux-omap-2.6.orig/arch/arm/plat-omap/dma.c 2008-09-23 16:41:23.000000000 +0530
> > +++ linux-omap-2.6/arch/arm/plat-omap/dma.c	2008-09-25 14:54:00.162059260 +0530
> > @@ -1849,9 +1849,22 @@ static int omap2_dma_handle_ch(int ch)
> >  		printk(KERN_INFO
> >  		       "DMA synchronization event drop occurred 
> > with device "
> >  		       "%d\n", dma_chan[ch].dev_id);
> > -	if (unlikely(status & OMAP2_DMA_TRANS_ERR_IRQ))
> > +	if (unlikely(status & OMAP2_DMA_TRANS_ERR_IRQ)) {
> >  		printk(KERN_INFO "DMA transaction error with 
> > device %d\n",
> >  		       dma_chan[ch].dev_id);
> > +		if (cpu_class_is_omap2()) {
> > +			/* Errata: sDMA Channel is not disabled
> > +			 * after a transaction error. So we explicitely
> > +			 * disable the channel
> > +			 */
> > +			u32 ccr;
> > +
> > +			ccr = dma_read(CCR(ch));
> > +			ccr &= ~OMAP_DMA_CCR_EN;
> > +			dma_write(ccr, CCR(ch));
> > +			dma_chan[ch].flags &= ~OMAP_DMA_ACTIVE;
> > +		}
> > +	}
> >  	if (unlikely(status & OMAP2_DMA_SECURE_ERR_IRQ))
> >  		printk(KERN_INFO "DMA secure error with device %d\n",
> >  		       dma_chan[ch].dev_id);
> 
> Tony,
> What about this patch ?--

Looks OK, I'll add it and queue it up for upstream too.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux