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 b3f8a11..458d168 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;
 }