summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-extended/dpdk/dpdk-kmods_git.bb5
-rw-r--r--recipes-extended/dpdk/dpdk/0001-support-5.18-kernel-ABI.patch42
2 files changed, 46 insertions, 1 deletions
diff --git a/recipes-extended/dpdk/dpdk-kmods_git.bb b/recipes-extended/dpdk/dpdk-kmods_git.bb
index b266655..e929d5b 100644
--- a/recipes-extended/dpdk/dpdk-kmods_git.bb
+++ b/recipes-extended/dpdk/dpdk-kmods_git.bb
@@ -2,12 +2,15 @@ SUMMARY = "DPDK Kernel Module igb_uio"
2DESCRIPTION = "UIO driver for Intel IGB PCI cards" 2DESCRIPTION = "UIO driver for Intel IGB PCI cards"
3HOMEPAGE = "http://git.dpdk.org/dpdk-kmods/" 3HOMEPAGE = "http://git.dpdk.org/dpdk-kmods/"
4 4
5FILESEXTRAPATHS:prepend := "${THISDIR}/dpdk:"
6
5LICENSE = "GPL-2.0-only" 7LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://igb_uio.c;beginline=1;endline=4;md5=a05cd72f85021e22ff6b2632b437450b" 8LIC_FILES_CHKSUM = "file://igb_uio.c;beginline=1;endline=4;md5=a05cd72f85021e22ff6b2632b437450b"
7 9
8SRC_URI = "git://dpdk.org/git/dpdk-kmods;protocol=https;branch=main \ 10SRC_URI = "git://dpdk.org/git/dpdk-kmods;protocol=https;branch=main \
11 file://0001-support-5.18-kernel-ABI.patch;patchdir=../.. \
9 " 12 "
10SRCREV = "e13d7af77a1bf98757f85c3c4083f6ee6d0d2372" 13SRCREV = "4a589f7bed00fc7009c93d430bd214ac7ad2bb6b"
11 14
12S = "${WORKDIR}/git/linux/igb_uio" 15S = "${WORKDIR}/git/linux/igb_uio"
13 16
diff --git a/recipes-extended/dpdk/dpdk/0001-support-5.18-kernel-ABI.patch b/recipes-extended/dpdk/dpdk/0001-support-5.18-kernel-ABI.patch
new file mode 100644
index 0000000..bada7bd
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk/0001-support-5.18-kernel-ABI.patch
@@ -0,0 +1,42 @@
1From 5f2d8db6692e257b16f1c5204efaaac2362f34ab Mon Sep 17 00:00:00 2001
2From: Andrea Righi <andrea.righi@canonical.com>
3Date: Tue, 15 Nov 2022 13:56:45 +0800
4Subject: [PATCH] support 5.18+ kernel ABI
5
6Upstream-Status: Pending [Taken from Ubuntu Source, https://git.launchpad.net/ubuntu/+source/dpdk-kmods/commit/debian/patches?id=9d628c02c169d8190bc2cb6afd81e4d364c382cd]
7
8Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
9Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
10---
11 linux/igb_uio/igb_uio.c | 13 ++++++++++++-
12 1 file changed, 12 insertions(+), 1 deletion(-)
13
14diff --git a/linux/igb_uio/igb_uio.c b/linux/igb_uio/igb_uio.c
15index 33e0e02..89b5262 100644
16--- a/linux/igb_uio/igb_uio.c
17+++ b/linux/igb_uio/igb_uio.c
18@@ -30,9 +30,20 @@ enum rte_intr_mode {
19 #define RTE_INTR_MODE_MSI_NAME "msi"
20 #define RTE_INTR_MODE_MSIX_NAME "msix"
21
22-
23 #include "compat.h"
24
25+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
26+static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
27+{
28+ return dma_set_mask(&dev->dev, mask);
29+}
30+
31+static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
32+{
33+ return dma_set_coherent_mask(&dev->dev, mask);
34+}
35+#endif
36+
37 /**
38 * A structure describing the private information for a uio device.
39 */
40--
412.25.1
42