From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id D22DA10E416 for ; Thu, 6 Jul 2023 06:06:38 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= To: igt-dev@lists.freedesktop.org Date: Thu, 6 Jul 2023 08:05:44 +0200 Message-Id: <20230706060555.282757-6-zbigniew.kempczynski@intel.com> In-Reply-To: <20230706060555.282757-1-zbigniew.kempczynski@intel.com> References: <20230706060555.282757-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [PATCH i-g-t v2 05/16] lib/xe_query: Add xe_region_class() helper List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: In the common code we often need to be aware of region class. Add helper which returns it from region id. Signed-off-by: Zbigniew KempczyƄski Reviewed-by: Karolina Stolarek --- lib/xe/xe_query.c | 16 ++++++++++++++++ lib/xe/xe_query.h | 1 + 2 files changed, 17 insertions(+) diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c index 830b7e401d..f535ad8534 100644 --- a/lib/xe/xe_query.c +++ b/lib/xe/xe_query.c @@ -467,6 +467,22 @@ const char *xe_region_name(uint64_t region) return vrams[region_idx]; } +/** + * xe_region_class: + * @fd: xe device fd + * @region: region mask + * + * Returns class of memory region structure for @region mask. + */ +uint16_t xe_region_class(int fd, uint64_t region) +{ + struct drm_xe_query_mem_region *memreg; + + memreg = xe_mem_region(fd, region); + + return memreg->mem_class; +} + /** * xe_min_page_size: * @fd: xe device fd diff --git a/lib/xe/xe_query.h b/lib/xe/xe_query.h index ff328ab942..68ca5a680c 100644 --- a/lib/xe/xe_query.h +++ b/lib/xe/xe_query.h @@ -85,6 +85,7 @@ struct drm_xe_engine_class_instance *xe_hw_engines(int fd); struct drm_xe_engine_class_instance *xe_hw_engine(int fd, int idx); struct drm_xe_query_mem_region *xe_mem_region(int fd, uint64_t region); const char *xe_region_name(uint64_t region); +uint16_t xe_region_class(int fd, uint64_t region); uint32_t xe_min_page_size(int fd, uint64_t region); struct drm_xe_query_config *xe_config(int fd); unsigned int xe_number_hw_engines(int fd); -- 2.34.1