If CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is enabled, loading the FPGA fails with an abort, because the optimized memcpy can only be used on cached memory. As the bitstream can be several MBs large, we want to use the optimized functions. Fix the abort by using a cached mapping with streaming DMA. v2 drops the explicit dma_sync_single_for_device and instead uses dma_map_single to flush the temporary buffer. I also fixed the error handling in case the mapping fails and made the size of the extra space at the end of the temporary buffer more explicit. Michael Changelog: Michael Tretter (3): firmware: zynqmp-fpga: initialize flags at function start firmware: zynqmp-fpga: avoid additional buffer for size argument firmware: zynqmp-fpga: do not use DMA coherent memory for bitstream drivers/firmware/zynqmp-fpga.c | 55 +++++++++++++++++----------------- 1 file changed, 27 insertions(+), 28 deletions(-) -- 2.30.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox