drm/xe: Define Virtual Function Identifier
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Thu, 4 Jan 2024 22:20:23 +0000 (23:20 +0100)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 5 Jan 2024 15:25:52 +0000 (16:25 +0100)
According to the PCI Express specification, the SR-IOV Virtual
Functions (VFs) are numbered starting with 1 (VF1, VF2, ...).
Additionally, both driver and GuC will refer to Physical Function
(PF) as VF0. Define helper macro to represent VFn and PF.

Reviewed-by: Piotr PiĆ³rkowski <piotr.piorkowski@intel.com>
Link: https://lore.kernel.org/r/20240104222031.277-3-michal.wajdeczko@intel.com
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
drivers/gpu/drm/xe/xe_sriov_types.h

index 999a4311b98bf2e7f9b6209a8e3639037dfa1981..1a138108d1395d29cd8853f07e484be6c93ba8c0 100644 (file)
@@ -8,6 +8,18 @@
 
 #include <linux/build_bug.h>
 
+/**
+ * VFID - Virtual Function Identifier
+ * @n: VF number
+ *
+ * Helper macro to represent Virtual Function (VF) Identifier.
+ * VFID(0) is used as alias to the PFID that represents Physical Function.
+ *
+ * Note: According to PCI spec, SR-IOV VF's numbers are 1-based (VF1, VF2, ...).
+ */
+#define VFID(n)                (n)
+#define PFID           VFID(0)
+
 /**
  * enum xe_sriov_mode - SR-IOV mode
  * @XE_SRIOV_MODE_NONE: bare-metal mode (non-virtualized)