diff options
| author | Haneen Mohammed <hamohammed.sa@gmail.com> | 2018-09-06 08:17:16 +0300 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2018-09-11 19:56:13 +0200 |
| commit | c27d931d402b517336fea2b25ae951bee0249f65 (patch) | |
| tree | fdcdcab7c4a4cef3a1d048d2fa9fbcf5c7d1cf04 /drivers/gpu/drm/vkms/vkms_output.c | |
| parent | 6be8f3bd2c78915a9f3a058a346ae93068d35c01 (diff) | |
drm/vkms: Add cursor plane support
Add cursor plane support and update vkms_plane_atomic_check to enable
positioning cursor plane.
Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/c69078820eacf3246fa77beb0c6227b692cc5e82.1536210181.git.hamohammed.sa@gmail.com
Diffstat (limited to 'drivers/gpu/drm/vkms/vkms_output.c')
| -rw-r--r-- | drivers/gpu/drm/vkms/vkms_output.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c index 901012cb1af1..19f9ffcbf9eb 100644 --- a/drivers/gpu/drm/vkms/vkms_output.c +++ b/drivers/gpu/drm/vkms/vkms_output.c @@ -49,14 +49,20 @@ int vkms_output_init(struct vkms_device *vkmsdev) struct drm_connector *connector = &output->connector; struct drm_encoder *encoder = &output->encoder; struct drm_crtc *crtc = &output->crtc; - struct drm_plane *primary; + struct drm_plane *primary, *cursor = NULL; int ret; - primary = vkms_plane_init(vkmsdev); + primary = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_PRIMARY); if (IS_ERR(primary)) return PTR_ERR(primary); - ret = vkms_crtc_init(dev, crtc, primary, NULL); + cursor = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_CURSOR); + if (IS_ERR(cursor)) { + ret = PTR_ERR(cursor); + goto err_cursor; + } + + ret = vkms_crtc_init(dev, crtc, primary, cursor); if (ret) goto err_crtc; @@ -106,6 +112,10 @@ err_connector: drm_crtc_cleanup(crtc); err_crtc: + drm_plane_cleanup(cursor); + +err_cursor: drm_plane_cleanup(primary); + return ret; } |
