[igt-dev] [i-g-t 4/5] lib/intel_chipset: Add support to XE driver to get devid
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Tue Mar 14 11:20:37 UTC 2023
On Tue, Mar 14, 2023 at 04:24:51PM +0530, Bhanuprakash Modem wrote:
> As many tests are using intel devid, add a helper to get it for
> XE driver.
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
> lib/intel_chipset.c | 30 ++++++++++++++++++++----------
> 1 file changed, 20 insertions(+), 10 deletions(-)
>
> diff --git a/lib/intel_chipset.c b/lib/intel_chipset.c
> index efb6f1771..73dbd813d 100644
> --- a/lib/intel_chipset.c
> +++ b/lib/intel_chipset.c
> @@ -41,6 +41,7 @@
> #include "drmtest.h"
> #include "intel_chipset.h"
> #include "igt_core.h"
> +#include "xe/xe_query.h"
>
> /**
> * SECTION:intel_chipset
> @@ -112,9 +113,22 @@ intel_get_pci_device(void)
> return pci_dev;
> }
>
> +static uint32_t __i915_get_drm_devid(int fd)
> +{
> + struct drm_i915_getparam gp;
> + int devid = 0;
> +
> + memset(&gp, 0, sizeof(gp));
> + gp.param = I915_PARAM_CHIPSET_ID;
> + gp.value = &devid;
> + ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp));
> +
> + return devid;
> +}
> +
> /**
> * intel_get_drm_devid:
> - * @fd: open i915 drm file descriptor
> + * @fd: open i915/xe drm file descriptor
> *
> * Queries the kernel for the pci device id corresponding to the drm file
> * descriptor.
> @@ -125,22 +139,18 @@ intel_get_pci_device(void)
> uint32_t
> intel_get_drm_devid(int fd)
> {
> - struct drm_i915_getparam gp;
> const char *override;
> - int devid = 0;
>
> - igt_assert(is_i915_device(fd));
> + igt_assert(is_intel_device(fd));
>
> override = getenv("INTEL_DEVID_OVERRIDE");
> if (override)
> return strtol(override, NULL, 0);
>
> - memset(&gp, 0, sizeof(gp));
> - gp.param = I915_PARAM_CHIPSET_ID;
> - gp.value = &devid;
> - ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp));
> -
> - return devid;
> + if (is_i915_device(fd))
> + return __i915_get_drm_devid(fd);
> + else
> + return xe_dev_id(fd);
This is the problem, it depends on implicit xe_device calls I've
added to cache driver/hw settings, but this function shouldn't
rely on it. I mean similar to __i915_get_drm_devid() you should
create helper which doesn't depend on anything.
--
Zbigniew
> }
>
> /**
> --
> 2.39.1
>
More information about the igt-dev
mailing list