drm/vkms: refactor overlay plane creation
Move the logic to create an overlay plane to its own function. Refactor, no functional changes. Signed-off-by: José Expósito <jose.exposito89@gmail.com> Reviewed-by: Melissa Wen <mwen@igalia.com> Signed-off-by: Melissa Wen <melissa.srw@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220107182809.141003-1-jose.exposito89@gmail.com
This commit is contained in:
parent
5313fb2c77
commit
5edaa2b974
@ -32,6 +32,21 @@ static const struct drm_connector_helper_funcs vkms_conn_helper_funcs = {
|
||||
.get_modes = vkms_conn_get_modes,
|
||||
};
|
||||
|
||||
static int vkms_add_overlay_plane(struct vkms_device *vkmsdev, int index,
|
||||
struct drm_crtc *crtc)
|
||||
{
|
||||
struct vkms_plane *overlay;
|
||||
|
||||
overlay = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_OVERLAY, index);
|
||||
if (IS_ERR(overlay))
|
||||
return PTR_ERR(overlay);
|
||||
|
||||
if (!overlay->base.possible_crtcs)
|
||||
overlay->base.possible_crtcs = drm_crtc_mask(crtc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int vkms_output_init(struct vkms_device *vkmsdev, int index)
|
||||
{
|
||||
struct vkms_output *output = &vkmsdev->output;
|
||||
@ -39,7 +54,7 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index)
|
||||
struct drm_connector *connector = &output->connector;
|
||||
struct drm_encoder *encoder = &output->encoder;
|
||||
struct drm_crtc *crtc = &output->crtc;
|
||||
struct vkms_plane *primary, *cursor = NULL, *overlay = NULL;
|
||||
struct vkms_plane *primary, *cursor = NULL;
|
||||
int ret;
|
||||
int writeback;
|
||||
|
||||
@ -48,12 +63,9 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index)
|
||||
return PTR_ERR(primary);
|
||||
|
||||
if (vkmsdev->config->overlay) {
|
||||
overlay = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_OVERLAY, index);
|
||||
if (IS_ERR(overlay))
|
||||
return PTR_ERR(overlay);
|
||||
|
||||
if (!overlay->base.possible_crtcs)
|
||||
overlay->base.possible_crtcs = drm_crtc_mask(crtc);
|
||||
ret = vkms_add_overlay_plane(vkmsdev, index, crtc);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (vkmsdev->config->cursor) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user