linux/drivers/gpu/drm/vc4
Boris Brezillon b9f19259b8 drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl
This ioctl will allow us to purge inactive userspace buffers when the
system is running out of contiguous memory.

For now, the purge logic is rather dumb in that it does not try to
release only the amount of BO needed to meet the last CMA alloc request
but instead purges all objects placed in the purgeable pool as soon as
we experience a CMA allocation failure.

Note that the in-kernel BO cache is always purged before the purgeable
cache because those objects are known to be unused while objects marked
as purgeable by a userspace application/library might have to be
restored when they are marked back as unpurgeable, which can be
expensive.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20171019125748.3152-1-boris.brezillon@free-electrons.com
2017-10-19 10:34:49 -07:00
..
Kconfig drm/vc4: add HDMI CEC support 2017-07-26 12:15:12 -07:00
Makefile drm/vc4: Use correct path to trace include 2017-09-05 11:11:20 +02:00
vc4_bo.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_crtc.c drm/vc4: switch to drm_*{get,put} helpers 2017-08-08 13:20:11 -07:00
vc4_debugfs.c drm/vc4: Add DSI driver 2017-02-01 12:51:23 -08:00
vc4_dpi.c drm/vc4: remove bridge from driver internal structure 2017-10-10 11:32:54 +02:00
vc4_drv.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_drv.h drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_dsi.c drm/vc4: Move the DSI clock divider workaround closer to the clock call. 2017-10-13 16:37:09 -07:00
vc4_fence.c drm/vc4: Expose dma-buf fences for V3D rendering. 2017-04-13 11:00:28 -07:00
vc4_gem.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_hdmi.c drm/vc4: clean up error handling on devm_kzalloc failure 2017-09-08 11:06:54 -07:00
vc4_hvs.c drm/vc4: fix include notation and remove -Iinclude/drm flag 2017-05-22 09:36:01 +02:00
vc4_irq.c drm/vc4: Allow using more than 256MB of CMA memory. 2017-04-18 14:32:20 -07:00
vc4_kms.c drm/vc4: Use drm_gem_fb_create() 2017-08-16 21:35:57 +02:00
vc4_packet.h drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_plane.c drm/vc4: Add the DRM_IOCTL_VC4_GEM_MADVISE ioctl 2017-10-19 10:34:49 -07:00
vc4_qpu_defines.h drm/vc4: Fix definition of QPU_R_MS_REV_FLAGS 2016-07-15 15:19:52 -07:00
vc4_regs.h drm/vc4: add HDMI CEC support 2017-07-26 12:15:12 -07:00
vc4_render_cl.c drm/vc4: Add exec flags to allow forcing a specific X/Y tile walk order. 2017-08-08 13:26:44 -07:00
vc4_trace.h drm/vc4: Use correct path to trace include 2017-09-05 11:11:20 +02:00
vc4_trace_points.c drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_v3d.c drm/vc4: Add an ioctl for labeling GEM BOs for summary stats 2017-07-28 16:04:53 -07:00
vc4_validate.c drm/vc4: Demote user-accessible DRM_ERROR paths to DRM_DEBUG. 2017-08-08 13:20:11 -07:00
vc4_validate_shaders.c drm/vc4: Demote user-accessible DRM_ERROR paths to DRM_DEBUG. 2017-08-08 13:20:11 -07:00
vc4_vec.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00