OSDN Git Service

drm/gma500: Allocate GTT ranges in stolen memory with psb_gem_create()
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 15 Oct 2021 08:40:47 +0000 (10:40 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 19 Oct 2021 08:38:48 +0000 (10:38 +0200)
commit957a2d0e7ea38d84d4b3cf9a951bccadeb803a24
treeb6f2bd32ef6548c728653012d52a6ab1e7af74ec
parent576d4d2d90310270c1d463577f0a075e88cf6c4a
drm/gma500: Allocate GTT ranges in stolen memory with psb_gem_create()

Support private objects for stolen memory in psb_gem_create() and
convert users to psb_gem_create(). For stolen memory, psb_gem_create()
now initializes the GEM object via drm_gem_private_object_init().

In the fbdev setup, replace the open-coded initialization of struct
gtt_range with a call to psb_gem_create(). Use drm_gem_object_put()
for release.

In the cursor setup, use psb_gem_create() and get a real GEM object.
Previously the allocated instance of struct gtt_range was only partially
initialized. Release the cursor GEM object in gma_crtc_destroy(). The
release was missing from the original code.

With the conversion of all callers to psb_gem_create(), the extern
declarations of psb_gtt_alloc_range, psb_gtt_free_range and
psb_gem_object_func are not required any longer. Declare them as
static.

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-5-tzimmermann@suse.de
drivers/gpu/drm/gma500/framebuffer.c
drivers/gpu/drm/gma500/gem.c
drivers/gpu/drm/gma500/gem.h
drivers/gpu/drm/gma500/gma_display.c
drivers/gpu/drm/gma500/psb_intel_display.c