meta-agl-bsp/meta-arago: update weston bbappend 54/23754/2
authorScott Murray <scott.murray@konsulko.com>
Thu, 6 Feb 2020 21:09:39 +0000 (16:09 -0500)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Fri, 7 Feb 2020 15:12:40 +0000 (15:12 +0000)
Update weston bbappend orginally from meta-arago/meta-arago-distro to
work with zeus.  The new weston_7.0.0.bbappend is based on the version
from meta-arago's zeus branch as of commit 9646a5e, with some edits to
remove unneeded patches after discussion with the meta-ti / meta-arago
maintainer.

Bug-AGL: SPEC-2932

Change-Id: Ia0a719b1fc7ed2f31c40a2b491cfc5e4b0f71cd0
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-FIX-weston-clients-typo-in-simple-dmabuf-egl.c.patch [deleted file]
meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-udev-seat-restrict-udev-enumeration-to-card0.patch [deleted file]
meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0002-Weston-Allow-visual_id-to-be-0.patch [deleted file]
meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0003-weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch [moved from meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0003-Weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch with 79% similarity]
meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-weston-Fix-touch-screen-crash-issue.patch [moved from meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-Weston-Fix-touch-screen-crash-issue.patch with 73% similarity]
meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0005-weston-drm-fix-dual-display-issue.patch [new file with mode: 0644]
meta-agl-bsp/meta-ti/recipes-arago/weston/weston_%.bbappend [deleted file]
meta-agl-bsp/meta-ti/recipes-arago/weston/weston_7.0.0.bbappend [new file with mode: 0644]

diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-FIX-weston-clients-typo-in-simple-dmabuf-egl.c.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-FIX-weston-clients-typo-in-simple-dmabuf-egl.c.patch
deleted file mode 100644 (file)
index 7801bdd..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 53d7c243ba0baa052081735b8effff4e2679ce65 Mon Sep 17 00:00:00 2001
-From: Kamal Pandey <kamal.pandey@ifm.com>
-Date: Thu, 4 Apr 2019 19:45:45 +0530
-Subject: [PATCH] FIX: weston: clients: typo in simple-dmabuf-egl.c
-
-Fix variable EGL_NO_IMAGE to EGL_NO_IMAGE_KHR in
-clients/simple-dmabuf-egl.c
-
-Signed-off-by: Kamal Pandey <pandeykamal13526@gmail.com>
----
- clients/simple-dmabuf-egl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/clients/simple-dmabuf-egl.c b/clients/simple-dmabuf-egl.c
-index 75d880e08..2d99c4709 100644
---- a/clients/simple-dmabuf-egl.c
-+++ b/clients/simple-dmabuf-egl.c
-@@ -293,7 +293,7 @@ create_fbo_for_buffer(struct display *display, struct buffer *buffer)
-                                                     EGL_NO_CONTEXT,
-                                                     EGL_LINUX_DMA_BUF_EXT,
-                                                     NULL, attribs);
--      if (buffer->egl_image == EGL_NO_IMAGE) {
-+      if (buffer->egl_image == EGL_NO_IMAGE_KHR) {
-               fprintf(stderr, "EGLImageKHR creation failed\n");
-               return false;
-       }
--- 
-2.21.0
-
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-udev-seat-restrict-udev-enumeration-to-card0.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-udev-seat-restrict-udev-enumeration-to-card0.patch
deleted file mode 100644 (file)
index 45d4ec7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From e8e7a9f7dfa164a75fdbdca87622a2e13334478a Mon Sep 17 00:00:00 2001
-From: Anand Balagopalakrishnan <anandb@ti.com>
-Date: Sat, 23 Jan 2016 22:48:07 +0530
-Subject: [PATCH 1/1] udev-seat: restrict udev enumeration to card0
-
-In case of separate GPU and Display devices as found in embedded systems, we
-could have modeset node and render node controlled by different drivers.
-There is a distinct possibility that udev enumeration returns the DRM device
-corresponding to render node as the primary DRM device.
-
-Obviously, modeset operations cannot be done on the GPU DRM device.
-
-Restrict the udev enumeration to card0 and ensure that DRM device corresponding
-to display is returned as the primary DRM device.
-
-Upstream-Status: Pending
-
-Signed-off-by: Anand Balagopalakrishnan <anandb@ti.com>
----
- libweston/compositor-drm.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
-index 6777bf8..59c2cc5 100644
---- a/libweston/compositor-drm.c
-+++ b/libweston/compositor-drm.c
-@@ -2827,7 +2827,7 @@ find_primary_gpu(struct drm_backend *b, const char *seat)
-
-       e = udev_enumerate_new(b->udev);
-       udev_enumerate_add_match_subsystem(e, "drm");
--      udev_enumerate_add_match_sysname(e, "card[0-9]*");
-+      udev_enumerate_add_match_sysname(e, "card0");
-
-       udev_enumerate_scan_devices(e);
-       drm_device = NULL;
---
-1.7.9.5
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0002-Weston-Allow-visual_id-to-be-0.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0002-Weston-Allow-visual_id-to-be-0.patch
deleted file mode 100644 (file)
index b7f467b..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5b5de6a814b43ca023a92b85b407b3d061dbc64f Mon Sep 17 00:00:00 2001
-From: Eric Ruei <e-ruei1@ti.com>
-Date: Thu, 9 Mar 2017 14:32:24 -0500
-Subject: [PATCH 2/4] Weston: Allow visual_id to be 0
-
-The inquiry of visual id from egl API eglGetConfigAttrib(EGL_NATIVE_VISUAL_ID)
-is an optional feature. The visual id will be set to 0 if this feature is
-not supported. Therefore, the return condition @function match_config_to_visual()
-should be (id == visual_id || id == 0) instead of (id == visual_id)
-
-Signed-off-by: Eric Ruei <e-ruei1@ti.com>
----
- libweston/gl-renderer.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c
-index 23c0cd7..4c1f170 100644
---- a/libweston/gl-renderer.c
-+++ b/libweston/gl-renderer.c
-@@ -2462,7 +2462,7 @@ match_config_to_visual(EGLDisplay egl_display,
-                               &id))
-                       continue;
--              if (id == visual_id)
-+              if (id == visual_id || id == 0)
-                       return i;
-       }
--- 
-1.9.1
-
@@ -1,7 +1,7 @@
-From 0d15218ced5bf2e6f3d05758f0f5f21c2a0303f2 Mon Sep 17 00:00:00 2001
+From 8034bc1862bbebb332e91917c6458ef8efb5b54e Mon Sep 17 00:00:00 2001
 From: Eric Ruei <e-ruei1@ti.com>
-Date: Thu, 9 Mar 2017 14:33:08 -0500
-Subject: [PATCH 3/4] Weston: Fix virtual keyboard display issue for QT5
+Date: Fri, 8 Mar 2019 18:49:07 -0500
+Subject: [PATCH] weston: Fix virtual keyboard display issue for QT5 
  application
 
 The virtual keyboard does pop up as expected, however, it will never hide
@@ -17,16 +17,15 @@ cannot be hidden.
 It is required to set the current_panel to the text_input when the input_panel
 becomes visible at the first time.
 
-Updated for weston 5.0.0 by Scott Murray <scott.murray@konsulko.com>.
+Upstream status: Pending
 
 Signed-off-by: Eric Ruei <e-ruei1@ti.com>
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
 ---
  compositor/text-backend.c | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/compositor/text-backend.c b/compositor/text-backend.c
-index 664c36f7..b610dfb1 100644
+index 664c36f..b610dfb 100644
 --- a/compositor/text-backend.c
 +++ b/compositor/text-backend.c
 @@ -349,6 +349,7 @@ text_input_show_input_panel(struct wl_client *client,
@@ -37,3 +36,6 @@ index 664c36f7..b610dfb1 100644
        }
  }
  
+-- 
+1.9.1
+
@@ -1,7 +1,7 @@
-From 8958bf21960a475d2933e688d0da9a0d2186d509 Mon Sep 17 00:00:00 2001
-From: Eric Ruei <e-ruei1@ti.com>
-Date: Thu, 9 Mar 2017 14:34:18 -0500
-Subject: [PATCH 4/4] Weston: Fix touch screen crash issue
+From 60250e9dc57fe56148c8a24bba107bce8a873fb4 Mon Sep 17 00:00:00 2001
+From: Karthik Ramanan <a0393906@ti.com>
+Date: Mon, 12 Mar 2018 10:56:28 +0530
+Subject: [PATCH 4/4] weston: Fix touch screen crash issue
 
 Touch screen operation causes the weston to crash with segment fault sometimes.
 The crash occurs when the coordinate (x,y) passed to the weston input module
@@ -9,16 +9,19 @@ is outside the view window, hence the weston compositor is not able to pick
 up a display view and there is no code to detect this condition at function
 notify_touch().
 
+Upstream status: pending
+
 Signed-off-by: Eric Ruei <e-ruei1@ti.com>
+Signed-off-by: Karthik Ramanan <a0393906@ti.com>
 ---
  libweston/input.c | 6 ++++++
  1 file changed, 6 insertions(+)
 
 diff --git a/libweston/input.c b/libweston/input.c
-index 8fe898c..0f72d23 100644
+index 4fedc55..bcb2f28 100644
 --- a/libweston/input.c
 +++ b/libweston/input.c
-@@ -1848,6 +1848,12 @@ notify_touch(struct weston_seat *seat, uint32_t time, int touch_id,
+@@ -2185,6 +2185,12 @@ notify_touch(struct weston_seat *seat, uint32_t time, int touch_id,
                 * until all touch points are up again. */
                if (touch->num_tp == 1) {
                        ev = weston_compositor_pick_view(ec, x, y, &sx, &sy);
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0005-weston-drm-fix-dual-display-issue.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0005-weston-drm-fix-dual-display-issue.patch
new file mode 100644 (file)
index 0000000..9b06b81
--- /dev/null
@@ -0,0 +1,79 @@
+From db6f5ce008d9b8a4cc7db71659ce1d21d3d7f97f Mon Sep 17 00:00:00 2001
+From: Eric Ruei <e-ruei1@ti.com>
+Date: Tue, 26 Mar 2019 13:32:31 -0400
+Subject: [PATCH 3/3] weston: drm: fix dual display issue
+
+This patch fixes the dual display issue by enhancing the primary plane
+search algorithm to keep the plane which is connected to the crtc of
+the output because the direct switching of active planes is not allowed.
+
+Upstream status: Pending
+
+Signed-off-by: Eric Ruei <e-ruei1@ti.com>
+---
+ libweston/compositor-drm.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
+index 3891176..fa694c3 100644
+--- a/libweston/compositor-drm.c
++++ b/libweston/compositor-drm.c
+@@ -428,6 +428,7 @@ struct drm_plane {
+       uint32_t possible_crtcs;
+       uint32_t plane_id;
++      uint32_t crtc_id;
+       uint32_t count_formats;
+       struct drm_property_info props[WDRM_PLANE__COUNT];
+@@ -4073,6 +4074,7 @@ drm_plane_create(struct drm_backend *b, const drmModePlane *kplane,
+       if (kplane) {
+               plane->possible_crtcs = kplane->possible_crtcs;
+               plane->plane_id = kplane->plane_id;
++              plane->crtc_id = kplane->crtc_id;
+               props = drmModeObjectGetProperties(b->drm.fd, kplane->plane_id,
+                                                  DRM_MODE_OBJECT_PLANE);
+@@ -4097,6 +4099,7 @@ drm_plane_create(struct drm_backend *b, const drmModePlane *kplane,
+       else {
+               plane->possible_crtcs = (1 << output->pipe);
+               plane->plane_id = 0;
++              plane->crtc_id = 0;
+               plane->count_formats = 1;
+               plane->formats[0].format = format;
+               plane->type = type;
+@@ -4157,6 +4160,7 @@ drm_output_find_special_plane(struct drm_backend *b, struct drm_output *output,
+                             enum wdrm_plane_type type)
+ {
+       struct drm_plane *plane;
++      struct drm_plane *plane2 = NULL; /* secondary plane */
+       if (!b->universal_planes) {
+               uint32_t format;
+@@ -4204,11 +4208,22 @@ drm_output_find_special_plane(struct drm_backend *b, struct drm_output *output,
+               if (found_elsewhere)
+                       continue;
++              /* The output should keep the primary plane connected to its
++               * crtc since the direct switching of active plane is not
++               * allowed. */
++              if ((type == WDRM_PLANE_TYPE_PRIMARY) &&
++                  (plane->crtc_id != output->crtc_id)) {
++                      if (plane->crtc_id == 0) {
++                              plane->possible_crtcs = (1 << output->pipe);
++                              plane2 = plane;
++                      }
++                      continue;
++              }
+               plane->possible_crtcs = (1 << output->pipe);
+               return plane;
+       }
+-      return NULL;
++      return plane2;
+ }
+ /**
+-- 
+1.9.1
+
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston_%.bbappend b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston_%.bbappend
deleted file mode 100644 (file)
index 718d6f8..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# When configured for fbdev compositor, make it the default
-PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor WESTON_NATIVE_BACKEND="fbdev-backend.so",--disable-fbdev-compositor,udev mtdev"
-PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/libgbm mtdev"
-
-PR_append = ".agl_arago_23"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-RDEPENDS_${PN} += "weston-conf"
-
-####################### F I X M E  ##########################
-DISABLED_SRC_URI += " \
-       file://0001-Add-soc-performance-monitor-utilites.patch \
-"
-####################### F I X M E  ##########################
-
-SRC_URI += " \
-       file://0001-FIX-weston-clients-typo-in-simple-dmabuf-egl.c.patch \
-       file://0002-Weston-Allow-visual_id-to-be-0.patch \
-       file://0003-Weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch \
-       file://0004-Weston-Fix-touch-screen-crash-issue.patch \
-"
-
-
-RDEPENDS_${PN}_remove = "weston-conf"
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston_7.0.0.bbappend b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston_7.0.0.bbappend
new file mode 100644 (file)
index 0000000..21c912a
--- /dev/null
@@ -0,0 +1,13 @@
+PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/libgbm mtdev"
+
+PR_append = ".arago2"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+#        file://0005-weston-drm-fix-dual-display-issue.patch
+SRC_URI += " \
+         file://0003-weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch \
+         file://0004-weston-Fix-touch-screen-crash-issue.patch \
+"
+
+INHIBIT_PACKAGE_STRIP = "1"