vdma: Corrected the hsize and stride alignment logic

This patch corrects the hsize and stride alignment logic when DRE
is not enabled in the design.

Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com>
Reviewed-by: Kedareswara rao Appana <appanad@xilinx.com>
This commit is contained in:
Anurag Kumar Vulisha 2015-08-28 12:05:43 +05:30 committed by Nava kishore Manne
parent c8e6ea5336
commit 649d61fc17

View file

@ -652,6 +652,8 @@ int XAxiVdma_ChannelConfig(XAxiVdma_Channel *Channel,
} else {
hsize_align =
(u32)(ChannelCfgPtr->HoriSizeInput % Channel->WordLength);
if (hsize_align > 0)
hsize_align = (Channel->WordLength - hsize_align);
}
} else {
if (ChannelCfgPtr->HoriSizeInput < Channel->WordLength) {
@ -659,6 +661,8 @@ int XAxiVdma_ChannelConfig(XAxiVdma_Channel *Channel,
} else {
hsize_align =
(u32)(ChannelCfgPtr->HoriSizeInput % Channel->StreamWidth);
if (hsize_align > 0)
hsize_align = (Channel->StreamWidth - hsize_align);
}
}
@ -667,6 +671,8 @@ int XAxiVdma_ChannelConfig(XAxiVdma_Channel *Channel,
stride_align = (u32)Channel->WordLength;
} else {
stride_align = (u32)(ChannelCfgPtr->Stride % Channel->WordLength);
if (stride_align > 0)
stride_align = (Channel->WordLength - stride_align);
}
/* If hardware has no DRE, then Hsize and Stride must