mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-07 14:24:18 +08:00
drm/ast: Init cursors before creating modesetting structures
The cursor helpers reserve buffer objects in VRAM and update their content. So although tied to modesetting, cursor helpers are more of a memory manager. The modesetting's cursor plane requires this functionality, so initialize cursors before modesetting. While at it, also add an error check for ast_cursor_init(). Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20200702115029.5281-12-tzimmermann@suse.de
This commit is contained in:
parent
3e9d787371
commit
6bb18c9be6
@ -1073,6 +1073,10 @@ int ast_mode_init(struct drm_device *dev)
|
||||
struct ast_private *ast = to_ast_private(dev);
|
||||
int ret;
|
||||
|
||||
ret = ast_cursor_init(ast);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
memset(&ast->primary_plane, 0, sizeof(ast->primary_plane));
|
||||
ret = drm_universal_plane_init(dev, &ast->primary_plane, 0x01,
|
||||
&ast_primary_plane_funcs,
|
||||
@ -1098,7 +1102,6 @@ int ast_mode_init(struct drm_device *dev)
|
||||
drm_plane_helper_add(&ast->cursor_plane,
|
||||
&ast_cursor_plane_helper_funcs);
|
||||
|
||||
ast_cursor_init(ast);
|
||||
ast_crtc_init(dev);
|
||||
ast_encoder_init(dev);
|
||||
ast_connector_init(dev);
|
||||
|
Loading…
Reference in New Issue
Block a user