Message ID | 53283941.3070603@monstr.eu |
---|---|
State | Accepted |
Delegated to: | Michal Simek |
Headers | show |
Hello, We're completely out of sync with our git repositories, but I changed the relevant parts in my zynqpl.c (with the patch of this thread not applied), and it worked well. The alignment went downwards as expected. Regards, Eli On 18/03/14 14:17, Michal Simek wrote: > Does this work for you? If yes, I will send this as regular patch. > > diff --git a/drivers/fpga/zynqpl.c b/drivers/fpga/zynqpl.c > index 3572bc9..49eef0f 100644 > --- a/drivers/fpga/zynqpl.c > +++ b/drivers/fpga/zynqpl.c > @@ -289,10 +289,11 @@ static int zynq_dma_xfer_init(u32 partialbit) > static u32 *zynq_align_dma_buffer(u32 *buf, u32 len, u32 swap) > { > u32 *new_buf; > - u32 i; > + u32 i, align; > > - if ((u32)buf != ALIGN((u32)buf, ARCH_DMA_MINALIGN)) { > - new_buf = (u32 *)ALIGN((u32)buf, ARCH_DMA_MINALIGN); > + align = ALIGN((u32)(buf - ARCH_DMA_MINALIGN + 1), ARCH_DMA_MINALIGN); > + if ((u32)buf != align) { > + new_buf = (u32 *)align; > >
Hi, On 03/18/2014 10:14 PM, Eli Billauer wrote: > Hello, > > We're completely out of sync with our git repositories, but I changed the relevant parts in my zynqpl.c (with the patch of this thread not applied), and it worked well. The alignment went downwards as expected. That's interesting. Anyway we will look at my proposed patch because from my test from yesterday ALIGN is ALIGN_UP but we need ALIGN_DOWN. Thanks, Michal
diff --git a/drivers/fpga/zynqpl.c b/drivers/fpga/zynqpl.c index 3572bc9..49eef0f 100644 --- a/drivers/fpga/zynqpl.c +++ b/drivers/fpga/zynqpl.c @@ -289,10 +289,11 @@ static int zynq_dma_xfer_init(u32 partialbit) static u32 *zynq_align_dma_buffer(u32 *buf, u32 len, u32 swap) { u32 *new_buf; - u32 i; + u32 i, align; - if ((u32)buf != ALIGN((u32)buf, ARCH_DMA_MINALIGN)) { - new_buf = (u32 *)ALIGN((u32)buf, ARCH_DMA_MINALIGN); + align = ALIGN((u32)(buf - ARCH_DMA_MINALIGN + 1), ARCH_DMA_MINALIGN); + if ((u32)buf != align) { + new_buf = (u32 *)align; /* * This might be dangerous but permits to flash if