[Q] tilcdc: cannot allocate buffer

Rob Clark robdclark at gmail.com
Fri Mar 14 04:37:39 PDT 2014


On Fri, Mar 14, 2014 at 7:24 AM, Robert Kuhn <robert at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


More information about the dri-devel mailing list