"G, Manjunath Kondaiah" <[email protected]> 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 <[email protected]>

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.

Kevin



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

Reply via email to