On Tue, May 21, 2019 at 01:08:28PM +0200, Thomas Zimmermann wrote:
Replacing drm_gem_vram_push_to_system() moves policy from drivers back to the memory manager. Now, unused BOs are only evicted when the space is required.
The lock/unlock-renaming patch aligns the interface with other names in DRM. No functional changes are done.
Finally, there's now a lockdep assert that ensures we don't call the GEM VRAM _locked() functions with an unlocked BO.
Patches are against a recent drm-tip and tested on mgag200 and ast HW.
Thomas Zimmermann (3): drm: Replace drm_gem_vram_push_to_system() with kunmap + unpin drm: Rename reserve/unreserve to lock/unlock in GEM VRAM helpers drm: Assert that BO is locked in drm_gem_vram_{pin,unpin}_locked()
$ make htmldocs
results in new warnings:
./drivers/gpu/drm/drm_gem_vram_helper.c:595: warning: cannot understand function prototype: 'const struct drm_vram_mm_funcs drm_gem_vram_mm_funcs = ' ./drivers/gpu/drm/drm_gem_vram_helper.c:596: warning: cannot understand function prototype: 'const struct drm_vram_mm_funcs drm_gem_vram_mm_funcs = '
You might want to review the entire output and make sure all the links work and everything looks pretty and reasonable.
Thanks, Daniel
drivers/gpu/drm/ast/ast_fb.c | 11 ++- drivers/gpu/drm/ast/ast_mode.c | 26 ++++--- drivers/gpu/drm/drm_gem_vram_helper.c | 86 ++++++------------------ drivers/gpu/drm/drm_vram_helper_common.c | 2 - drivers/gpu/drm/mgag200/mgag200_cursor.c | 40 +++++------ drivers/gpu/drm/mgag200/mgag200_fb.c | 11 ++- drivers/gpu/drm/mgag200/mgag200_mode.c | 15 +++-- include/drm/drm_gem_vram_helper.h | 9 ++- 8 files changed, 80 insertions(+), 120 deletions(-)
-- 2.21.0