[igt-dev] [PATCH i-g-t] lib/xe_query: Add device id helper
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Tue Mar 14 10:49:54 UTC 2023
On Tue, 14 Mar 2023 11:44:59 +0100
Zbigniew Kempczyński <zbigniew.kempczynski at intel.com> wrote:
> Add support to query XE_QUERY_CONFIG_REV_AND_DEVICE_ID and xe_dev_id()
> helper.
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Mauro Carvalho Chehab <mchehab at kernel.org>
Reviewed-by: Mauro Carvalho Chehab <mchehab at kernel.org>
> ---
> lib/xe/xe_query.c | 17 +++++++++++++++++
> lib/xe/xe_query.h | 4 ++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
> index a6926057f0..701ab8fde0 100644
> --- a/lib/xe/xe_query.c
> +++ b/lib/xe/xe_query.c
> @@ -247,6 +247,7 @@ struct xe_device *xe_device_get(int fd)
> xe_dev->config = xe_query_config_new(fd);
> xe_dev->number_gt = xe_dev->config->info[XE_QUERY_CONFIG_GT_COUNT];
> xe_dev->va_bits = xe_dev->config->info[XE_QUERY_CONFIG_VA_BITS];
> + xe_dev->rev_dev_id = xe_dev->config->info[XE_QUERY_CONFIG_REV_AND_DEVICE_ID];
> xe_dev->gts = xe_query_gts_new(fd);
> xe_dev->memory_regions = __memory_regions(xe_dev->gts);
> xe_dev->hw_engines = xe_query_engines_new(fd, &xe_dev->number_hw_engines);
> @@ -465,6 +466,22 @@ xe_dev_FN(xe_supports_faults, supports_faults, bool);
> */
> xe_dev_FN(xe_va_bits, va_bits, uint32_t);
>
> +/**
> + * xe_dev_id:
> + * @fd: xe device fd
> + *
> + * Returns 16-bit device id for xe device @fd.
> + */
> +uint16_t xe_dev_id(int fd)
> +{
> + struct xe_device *xe_dev;
> +
> + xe_dev = find_in_cache(fd);
> + igt_assert(xe_dev);
> +
> + return xe_dev->rev_dev_id & 0xffff;
> +}
> +
> igt_constructor
> {
> xe_device_cache_init();
> diff --git a/lib/xe/xe_query.h b/lib/xe/xe_query.h
> index fe1343f616..12d2800b48 100644
> --- a/lib/xe/xe_query.h
> +++ b/lib/xe/xe_query.h
> @@ -58,6 +58,9 @@ struct xe_device {
>
> /** @va_bits: va length in bits */
> uint32_t va_bits;
> +
> + /** @rev_dev_id: device id */
> + uint16_t rev_dev_id;
> };
>
> #define for_each_hw_engine(__fd, __hwe) \
> @@ -85,6 +88,7 @@ bool xe_has_vram(int fd);
> uint64_t xe_vram_size(int fd, int gt);
> uint32_t xe_get_default_alignment(int fd);
> uint32_t xe_va_bits(int fd);
> +uint16_t xe_dev_id(int fd);
> bool xe_supports_faults(int fd);
> const char *xe_engine_class_string(uint32_t engine_class);
>
More information about the igt-dev
mailing list