[RFC] drm/omap: Create only one primary plane for CRTC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Looks like sway and wlroots won't work with omaprdrm because of
the following error:

backend/drm/drm.c:86: add_plane: Assertion
!(type == DRM_PLANE_TYPE_PRIMARY &&  crtc->primary)

Looks like there should only be one primary plane per CRTC?

There's some discussion about that for a wlroots bug at:

https://github.com/swaywm/wlroots/issues/1943

And there's a link pointing to the kms docs:

https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms.html#plane-abstraction

Below is a quick hack fix I used to get sway started.

Not sure how the primary plane should be picked? I just
used 0 as the primary plane to get things working :)

I can start xterm on sway, but so far no fonts only the
borders.

Regards,

Tony

8< ----------------------
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index d2750f60f519..122f8c4cf45b 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -268,7 +268,7 @@ static int omap_modeset_init(struct drm_device *dev)
 	plane_crtc_mask = (1 << priv->num_pipes) - 1;
 
 	for (i = 0; i < num_ovls; i++) {
-		enum drm_plane_type type = i < priv->num_pipes
+		enum drm_plane_type type = i == 0
 					 ? DRM_PLANE_TYPE_PRIMARY
 					 : DRM_PLANE_TYPE_OVERLAY;
 		struct drm_plane *plane;



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux