From 8604534f92117a6a09cf555b9271ad75395b800c Mon Sep 17 00:00:00 2001 From: Xin Tian Date: Thu, 20 Mar 2025 17:14:04 +0800 Subject: [PATCH] libxscale: Match dev by vid and did Match dev by vid and did. Signed-off-by: Xin Tian --- 0088-libxscale-Match-dev-by-vid-and-did.patch | 85 +++++++++++++++++++ rdma-core.spec | 11 ++- 2 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 0088-libxscale-Match-dev-by-vid-and-did.patch diff --git a/0088-libxscale-Match-dev-by-vid-and-did.patch b/0088-libxscale-Match-dev-by-vid-and-did.patch new file mode 100644 index 0000000..4e561c7 --- /dev/null +++ b/0088-libxscale-Match-dev-by-vid-and-did.patch @@ -0,0 +1,85 @@ +From c51e33b6a7b21ea3cc1230838d95d5428396be3b Mon Sep 17 00:00:00 2001 +From: Xin Tian +Date: Thu, 20 Mar 2025 15:33:54 +0800 +Subject: [PATCH] libxscale: Match dev by vid and did + +Match dev by vid and did. + +Signed-off-by: Xin Tian +--- + providers/xscale/xscale.c | 20 +++++++++++++++----- + providers/xscale/xscale.h | 18 ++++++++++++++++++ + 2 files changed, 33 insertions(+), 5 deletions(-) + +diff --git a/providers/xscale/xscale.c b/providers/xscale/xscale.c +index e6792b9..e24cfd2 100644 +--- a/providers/xscale/xscale.c ++++ b/providers/xscale/xscale.c +@@ -23,10 +23,6 @@ + #include "wqe.h" + #include "xsc_hsi.h" + +-#ifndef PCI_VENDOR_ID_MELLANOX +-#define PCI_VENDOR_ID_MELLANOX 0x15b3 +-#endif +- + #ifndef CPU_OR + #define CPU_OR(x, y, z) do {} while (0) + #endif +@@ -35,9 +31,23 @@ + #define CPU_EQUAL(x, y) 1 + #endif + +-#define HCA(v, d) VERBS_PCI_MATCH(PCI_VENDOR_ID_##v, d, NULL) + static const struct verbs_match_ent hca_table[] = { + VERBS_MODALIAS_MATCH("*xscale*", NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MC_PF_DEV_ID, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MC_VF_DEV_ID, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MC_PF_DEV_ID_DIAMOND, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MC_PF_DEV_ID_DIAMOND_NEXT, NULL), ++ ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MF_HOST_PF_DEV_ID, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MF_HOST_VF_DEV_ID, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MF_SOC_PF_DEV_ID, NULL), ++ ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MS_PF_DEV_ID, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MS_VF_DEV_ID, NULL), ++ ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MV_HOST_PF_DEV_ID, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MV_HOST_VF_DEV_ID, NULL), ++ VERBS_PCI_MATCH(XSC_PCI_VENDOR_ID, XSC_MV_SOC_PF_DEV_ID, NULL), + {} + }; + +diff --git a/providers/xscale/xscale.h b/providers/xscale/xscale.h +index 0aee472..c6cc9f7 100644 +--- a/providers/xscale/xscale.h ++++ b/providers/xscale/xscale.h +@@ -171,6 +171,24 @@ struct xsc_spinlock { + int need_lock; + }; + ++#define XSC_PCI_VENDOR_ID 0x1f67 ++ ++#define XSC_MC_PF_DEV_ID 0x1011 ++#define XSC_MC_VF_DEV_ID 0x1012 ++#define XSC_MC_PF_DEV_ID_DIAMOND 0x1021 ++#define XSC_MC_PF_DEV_ID_DIAMOND_NEXT 0x1023 ++ ++#define XSC_MF_HOST_PF_DEV_ID 0x1051 ++#define XSC_MF_HOST_VF_DEV_ID 0x1052 ++#define XSC_MF_SOC_PF_DEV_ID 0x1053 ++ ++#define XSC_MS_PF_DEV_ID 0x1111 ++#define XSC_MS_VF_DEV_ID 0x1112 ++ ++#define XSC_MV_HOST_PF_DEV_ID 0x1151 ++#define XSC_MV_HOST_VF_DEV_ID 0x1152 ++#define XSC_MV_SOC_PF_DEV_ID 0x1153 ++ + /* PAGE_SHIFT determines the page size */ + + #define PAGE_SHIFT 12 +-- +2.25.1 + diff --git a/rdma-core.spec b/rdma-core.spec index a1c3ef8..5ebde76 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -1,6 +1,6 @@ Name: rdma-core Version: 41.0 -Release: 28 +Release: 29 Summary: RDMA core userspace libraries and daemons License: GPLv2 or BSD Url: https://github.com/linux-rdma/rdma-core @@ -92,7 +92,8 @@ patch83: 0083-libhns-Fix-overwritten-SL-in-DSCP-mode.patch patch84: 0084-libhns-Support-returning-the-final-value-of-SL-confi.patch patch85: 0085-libhns-Fix-memory-leakage-when-DCA-is-enabled.patch patch86: 0086-libhns-Fix-the-exception-branch-of-wr_start-is-not-l.patch -patch93: 0087-libxscale-Add-Yunsilicon-User-Space-RDMA-Driver.patch +patch87: 0087-libxscale-Add-Yunsilicon-User-Space-RDMA-Driver.patch +patch88: 0088-libxscale-Match-dev-by-vid-and-did.patch BuildRequires: binutils cmake >= 2.8.11 gcc libudev-devel pkgconfig pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libnl-route-3.0) valgrind-devel systemd systemd-devel @@ -343,6 +344,12 @@ fi %{_mandir}/* %changelog +* Thu Mar 20 2025 Xin Tian - 41.0-29 +- Type: bugfix +- ID: NA +- SUG: NA +- DESC: [libxscale] Match dev by vid and did + * Tue Mar 4 2025 Xin Tian - 41.0-28 - Type: requirement - ID: NA -- Gitee