[PATCH i-g-t 3/3] tests/xe/xe_sriov_flr: Improve clear-ggtt subcheck initialization
Laguna, Lukasz
lukasz.laguna at intel.com
Wed Nov 20 10:53:25 UTC 2024
On 11/19/2024 16:55, Marcin Bernatowicz wrote:
> Mark the ggtt-clear subcheck as SKIP when prerequisites, such as scanning
> GGTT provisioned offsets, are not met. Asserting in these cases falsely
> implies that FLR is broken, while the test has not even started.
>
> Signed-off-by: Marcin Bernatowicz<marcin.bernatowicz at linux.intel.com>
> Cc: Adam Miszczak<adam.miszczak at linux.intel.com>
> Cc: C V Narasimha<narasimha.c.v at intel.com>
> Cc: Jakub Kolakowski<jakub1.kolakowski at intel.com>
> Cc: K V P Satyanarayana<satyanarayana.k.v.p at intel.com>
> Cc: Lukasz Laguna<lukasz.laguna at intel.com>
> Cc: Michał Wajdeczko<michal.wajdeczko at intel.com>
> Cc: Michał Winiarski<michal.winiarski at intel.com>
> Cc: Piotr Piórkowski<piotr.piorkowski at intel.com>
> Cc: Tomasz Lis<tomasz.lis at intel.com>
> ---
> tests/intel/xe_sriov_flr.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/tests/intel/xe_sriov_flr.c b/tests/intel/xe_sriov_flr.c
> index 1049cffec..502691765 100644
> --- a/tests/intel/xe_sriov_flr.c
> +++ b/tests/intel/xe_sriov_flr.c
> @@ -393,7 +393,12 @@ static int populate_ggtt_pte_offsets(struct ggtt_data *gdata)
> if (vf_id == 0)
> continue;
>
> - igt_assert(vf_id >= 1 && vf_id <= num_vfs);
> + if (vf_id < 1 || vf_id > num_vfs) {
> + set_skip_reason(&gdata->base, "Unexpected VF%u at range entry %u [%#lx-%#lx], num_vfs=%u\n",
nit: Unexpected VF ID (%u)...
> + vf_id, i, ranges[i].start, ranges[i].end, num_vfs);
> + free(ranges);
> + return -1;
> + }
>
> if (gdata->pte_offsets[vf_id].end) {
> set_skip_reason(&gdata->base, "Duplicate GGTT PTE offset range for VF%u\n",
> @@ -410,7 +415,7 @@ static int populate_ggtt_pte_offsets(struct ggtt_data *gdata)
>
> for (int vf_id = 1; vf_id <= num_vfs; ++vf_id)
> if (!gdata->pte_offsets[vf_id].end) {
> - set_fail_reason(&gdata->base,
> + set_skip_reason(&gdata->base,
> "Failed to find VF%u provisioned GGTT PTE offset range\n",
> vf_id);
> return -1;
> @@ -440,7 +445,7 @@ static void ggtt_subcheck_init(struct subcheck_data *data)
>
> populate_ggtt_pte_offsets(gdata);
> } else {
> - set_fail_reason(data, "xe_mmio is NULL\n");
> + set_skip_reason(data, "xe_mmio is NULL\n");
> }
> }
>
Looks good overall,but I see that we still fail in case of other
prerequisites not met (LMEM, GGTT write/read, no access to MMIO, etc).
Maybe we should skip in these cases too?
Lukasz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/igt-dev/attachments/20241120/5f747c7a/attachment-0001.htm>
More information about the igt-dev
mailing list