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:
parent
c8e6ea5336
commit
649d61fc17
1 changed files with 6 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue