]> git.baikalelectronics.ru Git - kernel.git/commit
drm/mgag200: Rewrite cursor handling
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 13 Jun 2019 07:30:39 +0000 (09:30 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 13 Jun 2019 11:37:28 +0000 (13:37 +0200)
commitc27c8e110a03ccfce4d85b0614940771c0a3a79e
treef7b3df5406eeb2f814f7594b85f7a712883dd45a
parent47334e4ac7836f146d32dd222da4ef4510dda5a9
drm/mgag200: Rewrite cursor handling

The cursor handling in mgag200 is complicated to understand. It touches a
number of different BOs, but doesn't really use all of them.

Rewriting the cursor update reduces the amount of cursor state. There are
two BOs for double-buffered HW updates. The source BO updates the one that
is currently not displayed and then switches buffers. Explicit BO locking
has been removed from the code. BOs are simply pinned and unpinned in video
RAM.

v2:
* pin cursor BOs to current location

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190613073041.29350-8-tzimmermann@suse.de
drivers/gpu/drm/mgag200/mgag200_cursor.c
drivers/gpu/drm/mgag200/mgag200_drv.h
drivers/gpu/drm/mgag200/mgag200_main.c