On Fri, Sep 27, 2019 at 11:03:04AM +0200, Thomas Zimmermann wrote: > (was: drm/ast/mgag200: Place cursor BOs at VRAM high-end) > > This patchset cleans up the memory management of HW cursors in ast. It > further moves the allocated cursor BOs to the of the video RAM to reduce > memory fragmentation. > > The ast driver manages cursor memory in a dedicated GEM VRAM buffer > object. It uses a double-buffering scheme of alternating between offsets > within the GEM BO. The code is convoluted and can lead to memory > fragmentation if the BO is stored the middle of VRAM. This is especially > a problem as ast devices only have a small amount of video memory (e.g., > 8 MiB). > > With this patchset, the cursor handling in ast is first split up into > separate functions for copying cursor images, managing buffer objects, > setting scanout addresses, and moving and hiding the cursor. Furthermore, > the driver dedicates a few KiB at the high end of the device's video > memory to storing the cursor's buffer objects. This prevents memory > fragmentation. > > The patchset has been tested on ast hardware. > > v3: > * split-off ast patches into separate series > * move around ast_{show,hide}_cursor in a separate patch > * fix space-before-tab error near AST_HWC_SIGNATURE_CHECKSUM > v2: > * remove VRAM buffers in favor of GEM BOs > * manage BO placement with pin flag Looks all sane to me, series is Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > > > Thomas Zimmermann (5): > drm/ast: Don't call ast_show_cursor() from ast_cursor_move() > drm/ast: Move ast_{show,hide}_cursor() within source file > drm/ast: Move cursor update code to ast_show_cursor() > drm/ast: Move cursor offset swapping into ast_show_cursor() > drm/ast: Allocate cursor BOs at high end of video memory > > drivers/gpu/drm/ast/ast_drv.h | 43 +++--- > drivers/gpu/drm/ast/ast_mode.c | 235 +++++++++++++++++++-------------- > 2 files changed, 158 insertions(+), 120 deletions(-) > > -- > 2.23.0 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel