+++ /dev/null
-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
-
+++ /dev/null
-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
+++ /dev/null
-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
-
-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
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,
}
}
+--
+1.9.1
+
-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
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);
--- /dev/null
+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
+
+++ /dev/null
-# 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"
--- /dev/null
+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"