drm/vkms: remove the need for the primary plane to be visible
authorMaíra Canal <mcanal@igalia.com>
Fri, 24 Mar 2023 16:42:25 +0000 (13:42 -0300)
committerMaíra Canal <mairacanal@riseup.net>
Thu, 6 Apr 2023 12:05:46 +0000 (09:05 -0300)
Before commit bc0d7fdefec6 ("drm: vkms: Supports to the case where
primary plane doesn't match the CRTC"), the composition was executed on
top of the primary plane. Therefore, the primary plane needed to be
visible and full screen. After commit bc0d7fdefec6, this is no longer
necessary, as the composition is now executed on top of the CRTC.

Then, remove the conditional expression that forced the primary plane to
be visible and full screen. This allows vkms to accept non-null
framebuffers when the CRTC is disabled.

This patch was tested with the vkms IGT testlist and all tests passed
successfully. Moreover, the tests
igt@kms_universal_plane@universal-plane-pipe-a-functional and
igt@kms_universal_plane@disable-primary-vs-flip-pipe-a used to fail and
now are passing.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Melissa Wen <mwen@igalia.com>
Signed-off-by: Maíra Canal <mairacanal@riseup.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20230324164226.256084-2-mcanal@igalia.com
drivers/gpu/drm/vkms/vkms_plane.c

index b3f8a115cc2340fc2505faabf4683df5acdad0c6..458d16865c97b25996725ca34c07b09b51b5c6c3 100644 (file)
@@ -153,10 +153,6 @@ static int vkms_plane_atomic_check(struct drm_plane *plane,
        if (ret != 0)
                return ret;
 
-       /* for now primary plane must be visible and full screen */
-       if (!new_plane_state->visible && !can_position)
-               return -EINVAL;
-
        return 0;
 }