RE: [PATCH v2 09/11] OMAP: DMA: Implement generic errata handling

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

 





> -----Original Message-----
> From: Cousson, Benoit 
> Sent: Friday, September 17, 2010 9:15 PM
> To: G, Manjunath Kondaiah
> Cc: linux-omap@xxxxxxxxxxxxxxx; Kevin Hilman; Shilimkar, Santosh
> Subject: Re: [PATCH v2 09/11] OMAP: DMA: Implement generic 
> errata handling
> 
> On 8/24/2010 1:04 PM, G, Manjunath Kondaiah wrote:
> > This patch introduces generic way of handling all OMAP DMA errata's 
> > which are applicable for OMAP1 and OMAP2PLUS processors.
> 
> <...>
> 
> > diff --git a/arch/arm/mach-omap2/dma.c b/arch/arm/mach-omap2/dma.c 
> > index f369bee..8832bd1 100644
> > --- a/arch/arm/mach-omap2/dma.c
> > +++ b/arch/arm/mach-omap2/dma.c
> > @@ -80,6 +80,40 @@ static int __init 
> omap2_system_dma_init_dev(struct 
> > omap_hwmod *oh, void *user)
> >
> >   	pdata->dma_attr		= (struct omap_dma_dev_attr 
> *)oh->dev_attr;
> >
> > +	/* Handling Errata's for all OMAP2PLUS processors */
> > +	pdata->errata			= 0;
> > +
> > +	if (cpu_is_omap242x() ||
> > +		(cpu_is_omap243x()&&   omap_type()<= 
> OMAP2430_REV_ES1_0))
> > +		pdata->errata		= DMA_CHAINING_ERRATA;
> > +
> > +	/*
> > +	 * Errata: On ES2.0 BUFFERING disable must be set.
> > +	 * This will always fail on ES1.0
> > +	 */
> > +	if (cpu_is_omap24xx())
> > +		pdata->errata		|= DMA_BUFF_DISABLE_ERRATA;
> > +
> > +	/*
> > +	 * Errata: OMAP2: sDMA Channel is not disabled
> > +	 * after a transaction error. So we explicitely
> > +	 * disable the channel
> > +	 */
> > +	if (cpu_class_is_omap2())
> > +		pdata->errata		|= DMA_CH_DISABLE_ERRATA;
> > +
> > +	/* Errata: OMAP3 :
> > +	 * A bug in ROM code leaves IRQ status for channels 0 
> and 1 uncleared
> > +	 * after secure sram context save and restore. Hence we need to
> > +	 * manually clear those IRQs to avoid spurious interrupts. This
> > +	 * affects only secure devices.
> > +	 */
> > +	if (cpu_is_omap34xx()&&  (omap_type() != OMAP2_DEVICE_TYPE_GP))
> > +		pdata->errata		|= DMA_IRQ_STATUS_ERRATA;
> > +
> > +	/* Errata3.3: Applicable for all omap2 plus */
> > +	pdata->errata			|= OMAP3_3_ERRATUM;
> > +
> 
> The DMA_SYSCONFIG_ERRATA does not seems to be initialized 
> there. How are you enabling that errata?

Thanks. I have already identified this and taken care in my internal version. It 
will be enabled in next version.

-Manjunath

--
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