OSDN Git Service

drm/gma500: Rewrite GTT page insert/remove without struct gtt_range
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 15 Oct 2021 08:40:52 +0000 (10:40 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 19 Oct 2021 08:38:54 +0000 (10:38 +0200)
commite1f80341e312088f0e6c46107db7098e30e6d764
treebb6153f3561ba6dee103473e1acb43dfd45af877
parent33e079bc1530df4596181ccbfded8752bbedb92c
drm/gma500: Rewrite GTT page insert/remove without struct gtt_range

struct gtt_range represents a GEM object and should not be used for GTT
setup. Change psb_gtt_insert() and psb_gtt_remove() to receive all
necessary parameters from their caller. This also eliminates possible
failure from psb_gtt_insert().

There's one exception in psb_gtt_restore(), which requires an upcast
from struct resource to struct gtt_range when restoring the GTT after
hibernation. A possible solution would track the GEM objects that need
restoration separately from the GTT resource.

Rename the functions to psb_gtt_insert_pages() and psb_gtt_remove_pages()
to reflect their similarity to MMU interfaces.

v3:
* restore the comments about locking rules (Patrik)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211015084053.13708-10-tzimmermann@suse.de
drivers/gpu/drm/gma500/gem.c
drivers/gpu/drm/gma500/gtt.c
drivers/gpu/drm/gma500/gtt.h