[igt-dev] [PATCH i-g-t 4/8] lib/igt_sriov_device: add helpers for operations in different VFs scenarios

Laguna, Lukasz lukasz.laguna at intel.com
Thu Nov 9 06:58:56 UTC 2023


On 11/6/2023 23:13, Michal Wajdeczko wrote:
>
> On 06.11.2023 20:59, Lukasz Laguna wrote:
>> Added helpers:
>> - for_each_vf and for_each_num_vfs
>> - for_random_vf and for_random_num_vfs
>> - for_last_vf and for_max_num_vfs
>>
>> Signed-off-by: Lukasz Laguna <lukasz.laguna at intel.com>
>> Reviewed-by: Marcin Bernatowicz <marcin.bernatowicz at linux.intel.com>
>> ---
>>   lib/igt_sriov_device.h | 18 ++++++++++++++++++
>>   1 file changed, 18 insertions(+)
>>
>> diff --git a/lib/igt_sriov_device.h b/lib/igt_sriov_device.h
>> index be4e56cf3..78cb0e73b 100644
>> --- a/lib/igt_sriov_device.h
>> +++ b/lib/igt_sriov_device.h
>> @@ -19,4 +19,22 @@ bool igt_sriov_disable_driver_autoprobe(int pf);
>>   int igt_sriov_open_vf_drm_device(int pf, unsigned int vf_num);
>>   bool igt_sriov_is_vf_drm_driver_probed(int pf, unsigned int vf_num);
>>   
> please document macros and their params
Done
>
>> +#define for_each_vf(__pf_fd, __vf_num) \
>> +	for (unsigned int __vf_num = 1, __total_vfs = igt_sriov_get_total_vfs(__pf_fd); \
>> +	     __vf_num <= __total_vfs; \
>> +	     ++__vf_num)
>> +#define for_each_num_vfs for_each_vf
> why do you need this alias ?
If test operates on ranges of VFs, not on specific VFs then code it's 
more readable and clear with this alias.
>
>> +
>> +#define for_random_vf(__pf_fd, __vf_num) \
>> +	for (unsigned int __vf_num = 1 + random() % igt_sriov_get_total_vfs(__pf_fd), __tmp = 0; \
>> +	     __tmp < 1; \
>> +	     ++__tmp)
>> +#define for_random_num_vfs for_random_vf
>> +
>> +#define for_last_vf(__pf_fd, __vf_num) \
>> +	for (unsigned int __vf_num = igt_sriov_get_total_vfs(__pf_fd), __tmp = 0; \
>> +	     __tmp < 1; \
>> +	     ++__tmp)
>> +#define for_max_num_vfs for_last_vf
>> +
>>   #endif /* __IGT_SRIOV_DEVICE_H__ */


More information about the igt-dev mailing list