Hi,
using the code from https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset-vsync.c on my beaglebone black I get sometimes this error:
[ 7772.673057] tilcdc 4830e000.lcdc: failed to allocate buffer with size 5242880 [ 7777.663102] tilcdc 4830e000.lcdc: failed to allocate buffer with size 5242880 [ 7783.892790] tilcdc 4830e000.lcdc: failed to allocate buffer with size 5242880
When I restart the programm usually everything works as expected. What is the couse of this error?
On Fri, Mar 14, 2014 at 7:24 AM, Robert Kuhn robert@ku.hn wrote:
Hi,
using the code from https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset-vsync.c on my beaglebone black I get sometimes this error:
[ 7772.673057] tilcdc 4830e000.lcdc: failed to allocate buffer with size 5242880 [ 7777.663102] tilcdc 4830e000.lcdc: failed to allocate buffer with size 5242880 [ 7783.892790] tilcdc 4830e000.lcdc: failed to allocate buffer with size 5242880
When I restart the programm usually everything works as expected. What is the couse of this error?
tilcdc uses a CMA pool for buffer allocation (because it needs physically contiguous buffers). You just need to bump up the pool size. In some cases the driver could be holding a reference to a buffer until slightly after userspace frees it (ie. until next vblank), my guess is that you are occasionally hitting that scenario and until that buffer is freed there is not enough remaining in the CMA carveout to allocate an additional buffer.
BR, -R
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel@lists.freedesktop.org