Re: [PATCH v2 4/4] OMAP: DMA: Fix: context restore during off mode

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

 



On Thu, Mar 17, 2011 at 02:08:34PM -0700, Kevin Hilman wrote:
> "G, Manjunath Kondaiah" <manjugk@xxxxxx> writes:
> 
> > The current DMA context restore clears all the DMA channel registers
> > even if the channels are in use. This will result in transfer failures
> > if repeated DMA transfers are initiated with one time DMA channel
> > configuration.
> >
> > Also, remove access to sysconfig register during context save/restore
> > since it will be handled through hwmod layer.
> >
> > Tested on OMAP3430 Zoom2 with
> >  - off mode enabled
> >  - one time DMA channel configuration
> >  - repeated DMA transfers
> >
> > Signed-off-by: G, Manjunath Kondaiah <manjugk@xxxxxx>
> 
> This patch introduces a compiler warning:
> 
> /work/kernel/omap/pm/arch/arm/plat-omap/dma.c: In function 'omap_dma_global_context_restore':
> /work/kernel/omap/pm/arch/arm/plat-omap/dma.c:2068:6: warning: unused variable 'ch'
> 
> because...
> 
> > ---
> >  arch/arm/plat-omap/dma.c |    7 -------
> >  1 files changed, 0 insertions(+), 7 deletions(-)
> >
> > diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
> > index 5cca56b..bb0b7e2 100644
> > --- a/arch/arm/plat-omap/dma.c
> > +++ b/arch/arm/plat-omap/dma.c
> > @@ -2059,8 +2059,6 @@ void omap_dma_global_context_save(void)
> >  	pm_runtime_get_sync(dev);
> >  	omap_dma_global_context.dma_irqenable_l0 =
> >  		p->dma_read(IRQENABLE_L0, 0);
> > -	omap_dma_global_context.dma_ocp_sysconfig =
> > -		p->dma_read(OCP_SYSCONFIG, 0);
> >  	omap_dma_global_context.dma_gcr = p->dma_read(GCR, 0);
> >  	pm_runtime_put_autosuspend(dev);
> >  }
> > @@ -2071,17 +2069,12 @@ void omap_dma_global_context_restore(void)
> >  
> >  	pm_runtime_get_sync(dev);
> >  	p->dma_write(omap_dma_global_context.dma_gcr, GCR, 0);
> > -	p->dma_write(omap_dma_global_context.dma_ocp_sysconfig,
> > -		OCP_SYSCONFIG, 0);
> >  	p->dma_write(omap_dma_global_context.dma_irqenable_l0,
> >  		IRQENABLE_L0, 0);
> >  
> >  	if (IS_DMA_ERRATA(DMA_ROMCODE_BUG))
> >  		p->dma_write(0x3 , IRQSTATUS_L0, 0);
> >  
> > -	for (ch = 0; ch < dma_chan_count; ch++)
> > -		if (dma_chan[ch].dev_id != -1)
> > -			omap_clear_dma(ch);
> >  	pm_runtime_put_autosuspend(dev);
> >  }
> 
> ...you removed the usage if 'ch' but not it's declaration.
sorry. I missed this warning and will fix it.

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