Drivers should not have to care about internal locking of GEM VRAM objects and their memory-mapping structures. This patch set removes both from the GEM VRAM interface. This affects the ast and mgag200 drivers. In places where GEM objects are being locked by the driver, the patch converts the lock operation to a pin operation. The locking prevented the memory manager from moving the object, so pinning is more appropriate. For the memory mappings, all book-keeping is done by the implementation of GEM VRAM. Explicit kmap objects are removed from the module's public interfaces. This change mostly affects the cursor handling in ast and mgag200, which is being simplified by this patch set. Future directions: with these patches in place, more code in mode setting and fbdev emulation can be shared between ast and mgag200. The patches have been tested on ast and mgag200 hardware. Thomas Zimmermann (9): drm/gem-vram: Support pinning buffers to current location drm/ast: Unpin cursor BO during cleanup drm/ast: Remove obsolete or unused cursor state drm/ast: Pin and map cursor source BO during update drm/ast: Pin framebuffer BO during dirty update drm/mgag200: Pin framebuffer BO during dirty update drm/mgag200: Rewrite cursor handling drm: Remove lock interfaces from GEM VRAM helpers drm: Remove functions with kmap-object argument from GEM VRAM helpers drivers/gpu/drm/ast/ast_drv.h | 7 - drivers/gpu/drm/ast/ast_fb.c | 33 +++-- drivers/gpu/drm/ast/ast_mode.c | 59 ++++---- drivers/gpu/drm/drm_gem_vram_helper.c | 171 +++-------------------- drivers/gpu/drm/mgag200/mgag200_cursor.c | 165 +++++++++------------- drivers/gpu/drm/mgag200/mgag200_drv.h | 3 - drivers/gpu/drm/mgag200/mgag200_fb.c | 27 ++-- drivers/gpu/drm/mgag200/mgag200_main.c | 4 +- include/drm/drm_gem_vram_helper.h | 9 -- 9 files changed, 146 insertions(+), 332 deletions(-) -- 2.21.0 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel