Lines Matching +full:can +full:- +full:primary
1 // SPDX-License-Identifier: GPL-2.0+
33 struct drm_device *dev = &vkmsdev->drm; in vkms_output_init()
37 struct vkms_plane *primary, *overlay, *cursor = NULL; in vkms_output_init() local
43 * Initialize used plane. One primary plane is required to perform the composition. in vkms_output_init()
45 * The overlay and cursor planes are not mandatory, but can be used to perform complex in vkms_output_init()
48 primary = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_PRIMARY); in vkms_output_init()
49 if (IS_ERR(primary)) in vkms_output_init()
50 return PTR_ERR(primary); in vkms_output_init()
52 if (vkmsdev->config->cursor) { in vkms_output_init()
58 output = vkms_crtc_init(dev, &primary->base, in vkms_output_init()
59 cursor ? &cursor->base : NULL); in vkms_output_init()
65 if (vkmsdev->config->overlay) { in vkms_output_init()
69 DRM_DEV_ERROR(dev->dev, "Failed to init vkms plane\n"); in vkms_output_init()
72 overlay->base.possible_crtcs = drm_crtc_mask(&output->crtc); in vkms_output_init()
79 return -ENOMEM; in vkms_output_init()
94 return -ENOMEM; in vkms_output_init()
102 encoder->possible_crtcs = drm_crtc_mask(&output->crtc); in vkms_output_init()
112 if (vkmsdev->config->writeback) { in vkms_output_init()