[PATCH i-g-t v2 2/2] tests/xe_query: Query and sanity-check GT ip versions
Gustavo Sousa
gustavo.sousa at intel.com
Wed Dec 13 11:52:18 UTC 2023
Quoting Matt Roper (2023-12-07 21:29:44-03:00)
>Update the query test to include the GT's IP version in the output and
>to also perform some simple sanity checks on the version received. We
>don't want to try to match any specific version numbers (since we expect
>new versions to show up in the future), but we do know that the uapi
>should never return version numbers older than 12.70 for the primary GT
>or 13.00 for the media GT since those were the first IP versions to
>include GMD_ID support. We also know that MTL/ARL are the only pre-Xe2
>platforms to support GMD_ID, so if we're not running on MTL/ARL, the
>version numbers must always be 20.00 or greater.
>
>Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
I would only replace "Query" with "Print" in the commit subject, as we
are not extending the query (or making a new one) to get ip versions -
they are going to be there by default for the platforms that contain
GMD_ID.
Other than that,
Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>
>---
> tests/intel/xe_query.c | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
>diff --git a/tests/intel/xe_query.c b/tests/intel/xe_query.c
>index 338ef6151..0e66b2eec 100644
>--- a/tests/intel/xe_query.c
>+++ b/tests/intel/xe_query.c
>@@ -259,6 +259,7 @@ test_query_mem_regions(int fd)
> static void
> test_query_gt_list(int fd)
> {
>+ uint16_t dev_id = intel_get_drm_devid(fd);
> struct drm_xe_query_gt_list *gt_list;
> struct drm_xe_device_query query = {
> .extensions = 0,
>@@ -278,13 +279,40 @@ test_query_gt_list(int fd)
> igt_assert_eq(igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query), 0);
>
> for (i = 0; i < gt_list->num_gt; i++) {
>+ int verx100 = 100 * gt_list->gt_list[i].ip_ver_major +
>+ gt_list->gt_list[i].ip_ver_minor;
>+
> igt_info("type: %d\n", gt_list->gt_list[i].type);
> igt_info("gt_id: %d\n", gt_list->gt_list[i].gt_id);
>+ igt_info("IP version: %d.%02d, stepping %d\n",
>+ gt_list->gt_list[i].ip_ver_major,
>+ gt_list->gt_list[i].ip_ver_minor,
>+ gt_list->gt_list[i].ip_ver_rev);
> igt_info("reference_clock: %u\n", gt_list->gt_list[i].reference_clock);
> igt_info("near_mem_regions: 0x%016llx\n",
> gt_list->gt_list[i].near_mem_regions);
> igt_info("far_mem_regions: 0x%016llx\n",
> gt_list->gt_list[i].far_mem_regions);
>+
>+ /* Sanity check IP version. */
>+ if (verx100) {
>+ /*
>+ * First GMD_ID platforms had graphics 12.70 and media
>+ * 13.00 so we should never see non-zero values lower
>+ * than those.
>+ */
>+ if (gt_list->gt_list[i].type == DRM_XE_QUERY_GT_TYPE_MEDIA)
>+ igt_assert_lte(1300, verx100);
>+ else
>+ igt_assert_lte(1270, verx100);
>+
>+ /*
>+ * Aside from MTL/ARL, all version numbers should be
>+ * 20.00 or higher.
>+ */
>+ if (!IS_METEORLAKE(dev_id))
>+ igt_assert_lte(20, gt_list->gt_list[i].ip_ver_major);
>+ }
> }
> }
>
>--
>2.43.0
>
More information about the igt-dev
mailing list