Lines Matching +full:can +full:- +full:primary
1 // SPDX-License-Identifier: GPL-2.0+
37 struct vkms_output *output = &vkmsdev->output; in vkms_output_init()
38 struct drm_device *dev = &vkmsdev->drm; in vkms_output_init()
39 struct drm_connector *connector = &output->connector; in vkms_output_init()
40 struct drm_encoder *encoder = &output->encoder; in vkms_output_init()
41 struct drm_crtc *crtc = &output->crtc; in vkms_output_init()
42 struct vkms_plane *primary, *overlay, *cursor = NULL; in vkms_output_init() local
48 * Initialize used plane. One primary plane is required to perform the composition. in vkms_output_init()
50 * The overlay and cursor planes are not mandatory, but can be used to perform complex in vkms_output_init()
53 primary = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_PRIMARY); in vkms_output_init()
54 if (IS_ERR(primary)) in vkms_output_init()
55 return PTR_ERR(primary); in vkms_output_init()
57 if (vkmsdev->config->cursor) { in vkms_output_init()
63 ret = vkms_crtc_init(dev, crtc, &primary->base, &cursor->base); in vkms_output_init()
67 if (vkmsdev->config->overlay) { in vkms_output_init()
71 DRM_DEV_ERROR(dev->dev, "Failed to init vkms plane\n"); in vkms_output_init()
74 overlay->base.possible_crtcs = drm_crtc_mask(crtc); in vkms_output_init()
93 encoder->possible_crtcs = drm_crtc_mask(crtc); in vkms_output_init()
101 if (vkmsdev->config->writeback) { in vkms_output_init()