From: Alexandre Courbot <acourbot@xxxxxxxxxxxx>
When running memcpy_toio:
memcpy_toio(send_obj->share_buf, buf, len);
it was found that errors appear if len is not a multiple of 8:
[58.350841] mtk-mdp 14001000.rdma: processing failed: -22
This is because in ARM64, memcpy_toio does byte-size access
when the length is not a multiple of 8 while access to the
vpu iomem must be 4 aligned.
This patch ensures the copy of a multiple of 8 size by calling
round_up(len, 8) when copying.
Fixes: e6599adfad30 ("media: mtk-vpu: avoid unaligned access to DTCM buffer.")
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxxxx>
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@xxxxxxxxxxxxx>
Signed-off-by: Pin-yen Lin <treapking@xxxxxxxxxxxx>
Reviewed-by: Houlong Wei <houlong.wei@xxxxxxxxxxxx>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
---
This is a re-send of v5 because it was marked obsolete, but this patch
is required for MT8173 platforms.