render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
2cf05b
From 0a192b453da043cfb3679a07b55c1628b56efdde Mon Sep 17 00:00:00 2001
2cf05b
Message-Id: <0a192b453da043cfb3679a07b55c1628b56efdde@dist-git>
2cf05b
From: Michal Privoznik <mprivozn@redhat.com>
2cf05b
Date: Fri, 8 Jul 2022 14:29:32 +0200
2cf05b
Subject: [PATCH] vircpi: Add PCIe 5.0 and 6.0 link speeds
2cf05b
MIME-Version: 1.0
2cf05b
Content-Type: text/plain; charset=UTF-8
2cf05b
Content-Transfer-Encoding: 8bit
2cf05b
2cf05b
The PCIe 5.0 and PCIe 6.0 standards define new link speeds:
2cf05b
32GT/s and 64GT/s, respectively. Update our internal enum to
2cf05b
include these new speeds. Otherwise we format incorrect XML:
2cf05b
2cf05b
  <pci-express>
2cf05b
    <link validity='cap' port='0' speed='(null)' width='16'/>
2cf05b
    <link validity='sta' speed='16' width='16'/>
2cf05b
  </pci-express>
2cf05b
2cf05b
Like all "good" specifications, these are also locked behind a
2cf05b
login portal. But we can look at pciutils' source code: [1] and
2cf05b
[2].
2cf05b
2cf05b
1: https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/ls-caps.c?id=caca31a0eea41c7b051705704c1158fddc02fbd2
2cf05b
2: https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/ls-caps.c?id=5bdf63b6b1bc35b59c4b3f47f7ca83ca1868155b
2cf05b
2cf05b
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2105231
2cf05b
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2cf05b
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2cf05b
(cherry picked from commit d33c2a9e2f933b31f8e96e9938c237bdffe27f84)
2cf05b
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2168116
2cf05b
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2cf05b
---
2cf05b
 src/util/virpci.c | 2 +-
2cf05b
 src/util/virpci.h | 2 ++
2cf05b
 2 files changed, 3 insertions(+), 1 deletion(-)
2cf05b
2cf05b
diff --git a/src/util/virpci.c b/src/util/virpci.c
2cf05b
index 0d476cd8b4..4949d1a3d4 100644
2cf05b
--- a/src/util/virpci.c
2cf05b
+++ b/src/util/virpci.c
2cf05b
@@ -46,7 +46,7 @@ VIR_LOG_INIT("util.pci");
2cf05b
 
2cf05b
 VIR_ENUM_IMPL(virPCIELinkSpeed,
2cf05b
               VIR_PCIE_LINK_SPEED_LAST,
2cf05b
-              "", "2.5", "5", "8", "16",
2cf05b
+              "", "2.5", "5", "8", "16", "32", "64"
2cf05b
 );
2cf05b
 
2cf05b
 VIR_ENUM_IMPL(virPCIStubDriver,
2cf05b
diff --git a/src/util/virpci.h b/src/util/virpci.h
2cf05b
index b9b9cd7b34..4d9193f24e 100644
2cf05b
--- a/src/util/virpci.h
2cf05b
+++ b/src/util/virpci.h
2cf05b
@@ -83,6 +83,8 @@ typedef enum {
2cf05b
     VIR_PCIE_LINK_SPEED_5,
2cf05b
     VIR_PCIE_LINK_SPEED_8,
2cf05b
     VIR_PCIE_LINK_SPEED_16,
2cf05b
+    VIR_PCIE_LINK_SPEED_32,
2cf05b
+    VIR_PCIE_LINK_SPEED_64,
2cf05b
     VIR_PCIE_LINK_SPEED_LAST
2cf05b
 } virPCIELinkSpeed;
2cf05b
 
2cf05b
-- 
2cf05b
2.39.1
2cf05b