drm/vram: Support top-down placement flag
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 23 Sep 2019 17:27:42 +0000 (19:27 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 27 Sep 2019 07:48:53 +0000 (09:48 +0200)
commit245f44e77101df44e1074c765732b5613579179d
tree693f95401b38e089642993b9229fb6931b82fc68
parent2ebb6701654e0d625eac6c32832d72f8e875c01a
drm/vram: Support top-down placement flag

Pinning lots of small buffer objects, such as cursors or sprites, to video
memory can lead to fragmentation, which is a problem for devices with only
a small amount of memory. As a result, framebuffer images might not get
pinned, even though there's enough space available overall.

The flag DRM_GEM_VRAM_PL_FLAG_TOPDOWN marks buffer objects to be pinned at
the high end of video memory. This leaves contiguous space available at
the memory's low end.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20190923172753.26593-2-tzimmermann@suse.de
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/drm_gem_vram_helper.c
include/drm/drm_gem_vram_helper.h