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

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(-)
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();

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

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
participants (2)
-
Ira W. Snyder
-
Kim Phillips