Patchwork [U-Boot] fsl_dma: fix support for 83xx DMA engine

login
register
mail settings
Submitter Ira Snyder
Date March 1, 2011, 10:40 p.m.
Message ID <1299019255-27736-1-git-send-email-iws@ovro.caltech.edu>
Download mbox | patch
Permalink /patch/85007/
State Accepted
Commit 9a865fff15931b5269778a20babcfd1b3f836f96
Delegated to: Kim Phillips
Headers show

Comments

Ira Snyder - March 1, 2011, 10:40 p.m.
Commit 359ec4931944adb885882deb9b781e4095eabc94 broke support for the
Freescale DMA engine on the 83xx parts. This is due to using registers
which do not exist on 83xx. Remove the attribute register accesses from
the 83xx build.

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Cc: York Sun <yorksun@freescale.com>
Cc: Peter Tyser <ptyser@xes-inc.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
---
 drivers/dma/fsl_dma.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Ira Snyder - June 15, 2011, 9:08 p.m.
On Tue, Mar 01, 2011 at 02:40:55PM -0800, Ira W. Snyder wrote:
> Commit 359ec4931944adb885882deb9b781e4095eabc94 broke support for the
> Freescale DMA engine on the 83xx parts. This is due to using registers
> which do not exist on 83xx. Remove the attribute register accesses from
> the 83xx build.
> 

Hi everyone,

This never made it into mainline. I think it is a pretty obvious build
error on 83xx platforms. Can someone pick it up?

Thanks,
Ira

> Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
> Cc: York Sun <yorksun@freescale.com>
> Cc: Peter Tyser <ptyser@xes-inc.com>
> Cc: Kumar Gala <galak@kernel.crashing.org>
> ---
>  drivers/dma/fsl_dma.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/dma/fsl_dma.c b/drivers/dma/fsl_dma.c
> index 09c18c1..30785ec 100644
> --- a/drivers/dma/fsl_dma.c
> +++ b/drivers/dma/fsl_dma.c
> @@ -116,10 +116,12 @@ int dmacpy(phys_addr_t dest, phys_addr_t src, phys_size_t count) {
>  
>  		out_dma32(&dma->dar, (u32) (dest & 0xFFFFFFFF));
>  		out_dma32(&dma->sar, (u32) (src & 0xFFFFFFFF));
> +#if !defined(CONFIG_MPC83xx)
>  		out_dma32(&dma->satr,
>  			in_dma32(&dma->satr) | (u32)((u64)src >> 32));
>  		out_dma32(&dma->datr,
>  			in_dma32(&dma->datr) | (u32)((u64)dest >> 32));
> +#endif
>  		out_dma32(&dma->bcr, xfer_size);
>  		dma_sync();
>  
> -- 
> 1.7.3.4
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Kim Phillips - July 7, 2011, 12:12 a.m.
On Wed, 15 Jun 2011 14:08:29 -0700
"Ira W. Snyder" <iws@ovro.caltech.edu> wrote:

> On Tue, Mar 01, 2011 at 02:40:55PM -0800, Ira W. Snyder wrote:
> > Commit 359ec4931944adb885882deb9b781e4095eabc94 broke support for the
> > Freescale DMA engine on the 83xx parts. This is due to using registers
> > which do not exist on 83xx. Remove the attribute register accesses from
> > the 83xx build.
> > 
> 
> Hi everyone,
> 
> This never made it into mainline. I think it is a pretty obvious build
> error on 83xx platforms. Can someone pick it up?

applied to u-boot-mpc83xx.

Thanks,

Kim

Patch

diff --git a/drivers/dma/fsl_dma.c b/drivers/dma/fsl_dma.c
index 09c18c1..30785ec 100644
--- a/drivers/dma/fsl_dma.c
+++ b/drivers/dma/fsl_dma.c
@@ -116,10 +116,12 @@  int dmacpy(phys_addr_t dest, phys_addr_t src, phys_size_t count) {
 
 		out_dma32(&dma->dar, (u32) (dest & 0xFFFFFFFF));
 		out_dma32(&dma->sar, (u32) (src & 0xFFFFFFFF));
+#if !defined(CONFIG_MPC83xx)
 		out_dma32(&dma->satr,
 			in_dma32(&dma->satr) | (u32)((u64)src >> 32));
 		out_dma32(&dma->datr,
 			in_dma32(&dma->datr) | (u32)((u64)dest >> 32));
+#endif
 		out_dma32(&dma->bcr, xfer_size);
 		dma_sync();