diff mbox series

[meta-arago,master] libdrm: remove any rogue specific overrides

Message ID 20251112230956.191245-1-rs@ti.com
State New
Headers show
Series [meta-arago,master] libdrm: remove any rogue specific overrides | expand

Commit Message

Randolph Sapp Nov. 12, 2025, 11:09 p.m. UTC
From: Randolph Sapp <rs@ti.com>

These are being carried as local overrides in the rogue userspace
libraries, and are only exercised in required paths. These patches were
only ever required for the userspace side of the server itself, not for
individual applications.

Signed-off-by: Randolph Sapp <rs@ti.com>
---
 .../recipes-graphics/drm/libdrm-arago.inc     |   2 -
 ...ync-add-support-for-pre-v4.7-kernels.patch |  91 --------
 ...Add-sync_fence_info-and-sync_pt_info.patch | 211 ------------------
 3 files changed, 304 deletions(-)
 delete mode 100644 meta-arago-distro/recipes-graphics/drm/libdrm/0001-libsync-add-support-for-pre-v4.7-kernels.patch
 delete mode 100644 meta-arago-distro/recipes-graphics/drm/libdrm/0002-Add-sync_fence_info-and-sync_pt_info.patch

Comments

PRC Automation Nov. 12, 2025, 11:16 p.m. UTC | #1
meta-arago / na / 20251112230956.191245-1-rs

PRC Results: PASS

=========================================================
  check-yocto-patches: PASS
=========================================================
Patches
----------------------------------------
All patches passed



=========================================================
  apply-yocto-patch: PASS
=========================================================
master
=====================
Summary:
- Patch Series: [meta-arago][master][PATCH] libdrm: remove any rogue specific overrides
- Submitter: From: <rs@ti.com>
From: Randolph Sapp <rs@ti.com>
-From: Brendan King <Brendan.King@imgtec.com>
-From: Brendan King <Brendan.King@imgtec.com>
- Date: Date: Wed, 12 Nov 2025 17:09:56 -0600
-Date: Tue, 13 Jun 2017 15:52:44 +0100
-Date: Thu, 24 Aug 2017 13:28:38 +0100
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: a7bd32da13c097ca6630c162f1cdaffe4036d969

Applied to:
- Repository: lcpd-prc-meta-arago
- Base Branch: master-wip
- Commit Author: Andrew Davis <afd@ti.com>
- Commit Subject: syslog-ng: Remove this recipe
- Commit SHA: dc9880094f431f05b8de3c876b56466f3bc8e98f

Patches
----------------------------------------
All patches applied



=========================================================
  check-yocto-repo: PASS
=========================================================
master
=====================
PASS
diff mbox series

Patch

diff --git a/meta-arago-distro/recipes-graphics/drm/libdrm-arago.inc b/meta-arago-distro/recipes-graphics/drm/libdrm-arago.inc
index 68496668..80c607ca 100644
--- a/meta-arago-distro/recipes-graphics/drm/libdrm-arago.inc
+++ b/meta-arago-distro/recipes-graphics/drm/libdrm-arago.inc
@@ -4,8 +4,6 @@  SRC_URI += " \
 file://0001-Add-option-to-run-a-test-indefinitely.patch \
 file://0001-omap-fix-omap_bo_size-for-tiled-buffers.patch \
 file://0002-omap-add-OMAP_BO-flags-to-affect-buffer-allocation.patch \
-file://0001-libsync-add-support-for-pre-v4.7-kernels.patch \
-file://0002-Add-sync_fence_info-and-sync_pt_info.patch \
 "
 
 PR:append = ".arago4"
diff --git a/meta-arago-distro/recipes-graphics/drm/libdrm/0001-libsync-add-support-for-pre-v4.7-kernels.patch b/meta-arago-distro/recipes-graphics/drm/libdrm/0001-libsync-add-support-for-pre-v4.7-kernels.patch
deleted file mode 100644
index d3ac5593..00000000
--- a/meta-arago-distro/recipes-graphics/drm/libdrm/0001-libsync-add-support-for-pre-v4.7-kernels.patch
+++ /dev/null
@@ -1,91 +0,0 @@ 
-From 74dc4b57e9d539944edf61ec7466ce029cf993d7 Mon Sep 17 00:00:00 2001
-From: Brendan King <Brendan.King@imgtec.com>
-Date: Tue, 13 Jun 2017 15:52:44 +0100
-Subject: [PATCH] libsync: add support for pre-v4.7 kernels
-
-Add support for the the sync merge ioctl supported by older kernels.
-
-Upstream-Status: Pending
----
- libsync.h | 44 +++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 41 insertions(+), 3 deletions(-)
-
-diff --git a/libsync.h b/libsync.h
-index c6b64ed..465871c 100644
---- a/libsync.h
-+++ b/libsync.h
-@@ -40,6 +40,10 @@
- extern "C" {
- #endif
- 
-+#ifndef SYNC_IOC_MAGIC
-+#define SYNC_IOC_MAGIC		'>'
-+#endif
-+
- #ifndef SYNC_IOC_MERGE
- /* duplicated from linux/sync_file.h to avoid build-time dependency
-  * on new (v4.7) kernel headers.  Once distro's are mostly using
-@@ -53,10 +57,22 @@ struct sync_merge_data {
- 	uint32_t	flags;
- 	uint32_t	pad;
- };
--#define SYNC_IOC_MAGIC		'>'
- #define SYNC_IOC_MERGE		_IOWR(SYNC_IOC_MAGIC, 3, struct sync_merge_data)
- #endif
- 
-+#ifndef SYNC_IOC_LEGACY_MERGE
-+/* the legacy definitions are based on the contents of
-+ * drivers/staging/android/uapi/sync.h in the v4.4 kernel.
-+ */
-+struct sync_legacy_merge_data {
-+	int32_t	fd2;
-+	char	name[32];
-+	int32_t	fence;
-+};
-+
-+#define SYNC_IOC_LEGACY_MERGE	_IOWR(SYNC_IOC_MAGIC, 1, \
-+	struct sync_legacy_merge_data)
-+#endif
- 
- static inline int sync_wait(int fd, int timeout)
- {
-@@ -83,6 +99,24 @@ static inline int sync_wait(int fd, int timeout)
- 	return ret;
- }
- 
-+static inline int sync_legacy_merge(const char *name, int fd1, int fd2)
-+{
-+	struct sync_legacy_merge_data data;
-+	int ret;
-+
-+	data.fd2 = fd2;
-+	strncpy(data.name, name, sizeof(data.name));
-+
-+	do {
-+		ret = ioctl(fd1, SYNC_IOC_LEGACY_MERGE, &data);
-+	} while (ret == -1 && (errno == EINTR || errno == EAGAIN));
-+
-+	if (ret < 0)
-+		return ret;
-+
-+	return data.fence;
-+}
-+
- static inline int sync_merge(const char *name, int fd1, int fd2)
- {
- 	struct sync_merge_data data = {0};
-@@ -95,8 +129,12 @@ static inline int sync_merge(const char *name, int fd1, int fd2)
- 		ret = ioctl(fd1, SYNC_IOC_MERGE, &data);
- 	} while (ret == -1 && (errno == EINTR || errno == EAGAIN));
- 
--	if (ret < 0)
--		return ret;
-+	if (ret < 0) {
-+		if (errno == ENOTTY)
-+			return sync_legacy_merge(name, fd1, fd2);
-+		else
-+			return ret;
-+	}
- 
- 	return data.fence;
- }
diff --git a/meta-arago-distro/recipes-graphics/drm/libdrm/0002-Add-sync_fence_info-and-sync_pt_info.patch b/meta-arago-distro/recipes-graphics/drm/libdrm/0002-Add-sync_fence_info-and-sync_pt_info.patch
deleted file mode 100644
index 57a282ef..00000000
--- a/meta-arago-distro/recipes-graphics/drm/libdrm/0002-Add-sync_fence_info-and-sync_pt_info.patch
+++ /dev/null
@@ -1,211 +0,0 @@ 
-From 34d420f46a49d059d55f5b9ed87306207b76c15b Mon Sep 17 00:00:00 2001
-From: Brendan King <Brendan.King@imgtec.com>
-Date: Thu, 24 Aug 2017 13:28:38 +0100
-Subject: [PATCH] Add sync_fence_info and sync_pt_info
-
-For pre-4.7 kernels, sync_fence_info returns the data from the
-SYNC_IOC_FENCE_INFO ioctl. For newer kernels, the SYNC_IOC_FILE_INFO
-ioctl is called, and the data converted to SYNC_IOC_FENCE_INFO form.
-
-Upstream-Status: Pending
----
- libsync.h | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 172 insertions(+)
-
-diff --git a/libsync.h b/libsync.h
-index 465871c..103b488 100644
---- a/libsync.h
-+++ b/libsync.h
-@@ -31,6 +31,7 @@
- #include <assert.h>
- #include <errno.h>
- #include <stdint.h>
-+#include <stdlib.h>
- #include <string.h>
- #include <sys/ioctl.h>
- #include <poll.h>
-@@ -74,6 +75,54 @@ struct sync_legacy_merge_data {
- 	struct sync_legacy_merge_data)
- #endif
- 
-+#ifndef SYNC_IOC_FILE_INFO
-+/* duplicated from linux/sync_file.h to avoid a build-time dependency
-+ * on new (v4.7) kernel headers.
-+ */
-+struct sync_fence_info {
-+	char		obj_name[32];
-+	char		driver_name[32];
-+	int32_t		status;
-+	uint32_t	flags;
-+	uint64_t	timestamp_ns;
-+};
-+
-+struct sync_file_info {
-+	char		name[32];
-+	int32_t		status;
-+	uint32_t	flags;
-+	uint32_t	num_fences;
-+	uint32_t	pad;
-+	uint64_t	sync_fence_info;
-+};
-+
-+#define SYNC_IOC_FILE_INFO	_IOWR(SYNC_IOC_MAGIC, 4, struct sync_file_info)
-+#endif
-+
-+#ifndef SYNC_IOC_LEGACY_FENCE_INFO
-+/* the legacy definitions are based on the contents of
-+ * drivers/staging/android/uapi/sync.h in the v4.4 kernel.
-+ */
-+struct sync_pt_info {
-+	uint32_t	len;
-+	char		obj_name[32];
-+	char		driver_name[32];
-+	int32_t		status;
-+	uint64_t	timestamp_ns;
-+	uint8_t		driver_data[0];
-+};
-+
-+struct sync_fence_info_data {
-+	uint32_t	len;
-+	char		name[32];
-+	int32_t		status;
-+	uint8_t		pt_info[0];
-+};
-+
-+#define SYNC_IOC_LEGACY_FENCE_INFO	_IOWR(SYNC_IOC_MAGIC, 2, \
-+	struct sync_fence_info_data)
-+#endif
-+
- static inline int sync_wait(int fd, int timeout)
- {
- 	struct pollfd fds = {0};
-@@ -179,6 +228,129 @@ static inline int sync_accumulate(const char *name, int *fd1, int fd2)
- 	return 0;
- }
- 
-+static inline struct sync_pt_info *sync_pt_info(
-+					struct sync_fence_info_data *info,
-+					struct sync_pt_info *pt_info)
-+{
-+	if (!pt_info)
-+		pt_info = (struct sync_pt_info *)info->pt_info;
-+	else
-+		pt_info = (struct sync_pt_info *)((uint8_t *)pt_info +
-+				pt_info->len);
-+
-+	if ((uint32_t)((uint8_t *)pt_info - (uint8_t *)info) >= info->len)
-+		return NULL;
-+
-+	return pt_info;
-+}
-+
-+static inline struct sync_fence_info_data *sync_legacy_fence_info(int fd)
-+{
-+	const uint32_t len = 4096;
-+	struct sync_fence_info_data *info = malloc(len);
-+	int ret;
-+
-+	if (!info)
-+		return NULL;
-+
-+	info->len = len;
-+
-+	do {
-+		ret = ioctl(fd, SYNC_IOC_LEGACY_FENCE_INFO, info);
-+	} while (ret == -1 && (errno == EINTR || errno == EAGAIN));
-+
-+	if (ret < 0) {
-+		free(info);
-+		return NULL;
-+	}
-+
-+	return info;
-+}
-+
-+static inline struct sync_fence_info_data *fence_info_from_file_info(
-+					struct sync_file_info *file_info,
-+					uint32_t num_fences)
-+{
-+	struct sync_fence_info_data *info;
-+	size_t info_len;
-+	struct sync_pt_info *pt_info = NULL;
-+	struct sync_fence_info *fence_info;
-+	uint32_t i;
-+
-+	info_len = sizeof(*info) + num_fences * sizeof(*pt_info);
-+	info = malloc(info_len);
-+	if (!info)
-+		return NULL;
-+
-+	info->len = info_len;
-+	strncpy(info->name, file_info->name, sizeof(info->name));
-+	info->status = file_info->status;
-+
-+	fence_info = (struct sync_fence_info *)(uintptr_t)
-+			file_info->sync_fence_info;
-+	for (i = 0; i < num_fences; i++) {
-+		pt_info = sync_pt_info(info, pt_info);
-+		assert(pt_info);
-+
-+		pt_info->len = sizeof(*pt_info);
-+		strncpy(pt_info->obj_name, fence_info->obj_name,
-+			sizeof(pt_info->obj_name));
-+		strncpy(pt_info->driver_name, fence_info->driver_name,
-+			sizeof(pt_info->driver_name));
-+		pt_info->status = fence_info->status;
-+		pt_info->timestamp_ns = fence_info->timestamp_ns;
-+
-+		fence_info++;
-+	}
-+
-+	return info;
-+}
-+
-+static inline struct sync_fence_info_data *sync_fence_info(int fd)
-+{
-+	struct sync_fence_info_data *info = NULL;
-+	struct sync_file_info initial_info = {""};
-+	struct sync_file_info *file_info;
-+	int ret;
-+
-+	do {
-+		ret = ioctl(fd, SYNC_IOC_FILE_INFO, &initial_info);
-+	} while (ret == -1 && (errno == EINTR || errno == EAGAIN));
-+
-+	if (ret < 0) {
-+		if (errno == ENOTTY)
-+			return sync_legacy_fence_info(fd);
-+		else
-+			return NULL;
-+	}
-+
-+	file_info = calloc(1, sizeof(*file_info) + initial_info.num_fences *
-+				sizeof(struct sync_fence_info));
-+	if (!file_info)
-+		return NULL;
-+
-+	file_info->num_fences = initial_info.num_fences;
-+	file_info->sync_fence_info = (uint64_t)(uintptr_t)(file_info + 1);
-+
-+	do {
-+		ret = ioctl(fd, SYNC_IOC_FILE_INFO, file_info);
-+	} while (ret == -1 && (errno == EINTR || errno == EAGAIN));
-+
-+	if (ret < 0)
-+		goto free_file_info;
-+
-+	info = fence_info_from_file_info(file_info, initial_info.num_fences);
-+
-+free_file_info:
-+	free(file_info);
-+
-+	return info;
-+}
-+
-+static inline void sync_fence_info_free(struct sync_fence_info_data *info)
-+{
-+	free(info);
-+}
- #if defined(__cplusplus)
- }
- #endif