On Mon, May 06, 2019 at 10:26:30AM +0200, Thomas Zimmermann wrote:
Several simple framebuffer drivers copy most of the TTM code from each other. The implementation is always the same; except for the name of some data structures.
As recently discussed, this patch set provides generic memory-management code for simple framebuffers with dedicated video memory. It further converts the respective drivers to the generic code. The shared code is basically the same implementation as the one copied among individual drivers.
The patch set contains two major changes: first, it introduces |struct drm_gem_vram_object| and helpers (GEM VRAM). It's a GEM object that is backed by VRAM. The type's purpose is somewhat similar to |struct drm_gem_{cma, shmem}_object|: it provides an commom implementation that handles all the basic cases. Second, the patch set introduces |struct drm_vram_mm| and helpers (VRAM MM). It's an implementation of a basic memory manager for VRAM.
Both, GEM VRAM and VRAM MM, support buffer placement in VRAM and system memory. Both can be used independedly from each other if desired by the DRM driver.
Looks good to me overall, some small nits in replies to patches.
Currently ast, bochs, mgag200, vboxvideo and hisilicon/hibmc can use these helpers.
I've tested bochs on qemu, works fine. What is the testing status of the other drivers?
cheers, Gerd