[PATCH i-g-t v3 3/4] lib/igt_sriov_device: Add helper to iterate over VFs in specified range
Lukasz Laguna
lukasz.laguna at intel.com
Tue Feb 11 16:29:18 UTC 2025
Helper allows to iterate over VFs within the specified range.
v2:
- fix macro (Marcin)
Signed-off-by: Lukasz Laguna <lukasz.laguna at intel.com>
---
lib/igt_sriov_device.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/lib/igt_sriov_device.h b/lib/igt_sriov_device.h
index de25a7d98..2b6acb6d7 100644
--- a/lib/igt_sriov_device.h
+++ b/lib/igt_sriov_device.h
@@ -86,6 +86,25 @@ igt_sriov_random_vf_in_range(int pf_fd, unsigned int start, unsigned int end)
++__vf_num)
#define for_each_sriov_num_vfs for_each_sriov_vf
+/**
+ * for_each_sriov_vf_in_range - Iterate over VFs in a specified range
+ * @__pf_fd: PF device file descriptor
+ * @__start: Starting VF number in the range
+ * @__end: Ending VF number in the range
+ * @__vf_num: Variable to store the random VF number
+ *
+ * For loop that iterates over VFs associated with given PF @__pf_fd,
+ * within the specified range [__start, __end]. The loop runs only if
+ * the range is valid.
+ */
+#define for_each_sriov_vf_in_range(__pf_fd, __start, __end, __vf_num) \
+ for (unsigned int __vf_num = __is_valid_range((__start), (__end), \
+ igt_sriov_get_total_vfs(__pf_fd)) ? \
+ (__start) : 0; \
+ __vf_num && __vf_num <= (__end); \
+ ++__vf_num)
+#define for_each_sriov_num_vfs_in_range for_each_sriov_vf_in_range
+
/**
* for_random_sriov_vf_in_range - Iterate over a random VF in a specified range
* @__pf_fd: PF device file descriptor
--
2.40.0
More information about the igt-dev
mailing list