drm/vc4: plane: Register a different drm_plane_helper_funcs on BCM2711
On the BCM2711, our current definition of drm_plane_helper_funcs uses the custom vc4_prepare_fb() and vc4_cleanup_fb(). Those functions rely on the buffer allocation path that was relying on the GPU, and is no longer relevant. Let's create another drm_plane_helper_funcs structure that we will register on the BCM2711. Reviewed-by: Melissa Wen <mwen@igalia.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220610115149.964394-8-maxime@cerno.tech
This commit is contained in:
parent
39a30ec645
commit
2095848661
@ -1389,6 +1389,13 @@ static const struct drm_plane_helper_funcs vc4_plane_helper_funcs = {
|
||||
.atomic_async_update = vc4_plane_atomic_async_update,
|
||||
};
|
||||
|
||||
static const struct drm_plane_helper_funcs vc5_plane_helper_funcs = {
|
||||
.atomic_check = vc4_plane_atomic_check,
|
||||
.atomic_update = vc4_plane_atomic_update,
|
||||
.atomic_async_check = vc4_plane_atomic_async_check,
|
||||
.atomic_async_update = vc4_plane_atomic_async_update,
|
||||
};
|
||||
|
||||
static bool vc4_format_mod_supported(struct drm_plane *plane,
|
||||
uint32_t format,
|
||||
uint64_t modifier)
|
||||
@ -1493,7 +1500,10 @@ struct drm_plane *vc4_plane_init(struct drm_device *dev,
|
||||
if (ret)
|
||||
return ERR_PTR(ret);
|
||||
|
||||
drm_plane_helper_add(plane, &vc4_plane_helper_funcs);
|
||||
if (vc4->is_vc5)
|
||||
drm_plane_helper_add(plane, &vc5_plane_helper_funcs);
|
||||
else
|
||||
drm_plane_helper_add(plane, &vc4_plane_helper_funcs);
|
||||
|
||||
drm_plane_create_alpha_property(plane);
|
||||
drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0,
|
||||
|
Loading…
x
Reference in New Issue
Block a user