We are experiencing AXI bus errors when using the G2D GPU. This seems to be some race condition as it occurs rarely (it is only seen 1 time out 100 when running our gstreamer application). Using uncached memory during g2d_alloc() seems to solve the problem, but is not obviously not the best solution.
My best theory at the moment is that this is an allocation/deallocation issue occuring whilst the G2D GPU is running.
We are using release 5.0.11.p8.6.
Specific Questions about g2d (imx-vpu-gpu):
1. The g2d_alloc(), g2d_cache_op() functions. Where is the cache? Is this just the ARM caches, or is there some 2d GPU specific cache? My assumption is that this is just managing the ARM caches.
2. Is the g2d_cache_op() immediate or is it queued like g2d_copy(), g2d_blit() GPU operations. i.e. do we need to run g2d_finish() to make sure the operation has completed? Obviously if this is just managing the CPU cache then I assume it is immediate.
This issue is being also progressed on the gstreamer-imx community - 2D GPU AXI BUS error during repeated destruction and creation of pipeline · Issue #172 · Freescale/gstreamer-imx · GitHu…
Original Attachment has been moved to: axi_bus_error.txt.zip