From 671332047e6e9d110c53f3e4511d1c243fe849bf Mon Sep 17 00:00:00 2001 From: Nirmoy Das Date: Wed, 6 Jul 2022 14:01:42 +0200 Subject: lib/i915: Add graphics release subversion to device info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Record the minor incremental changes between the major gen12 platforms as a release version. v2: add missing "," to last struct member and move graphics_rel next to graphics_ver. v3: add graphics_rel for ats-m and other minor fixes. Acked-by: Matthew Auld Reviewed-by: Zbigniew KempczyƄski Suggested-by: Chris Wilson Signed-off-by: Nirmoy Das --- lib/intel_chipset.h | 4 ++++ lib/intel_device_info.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/intel_chipset.h b/lib/intel_chipset.h index 06f73211..d7a6ff19 100644 --- a/lib/intel_chipset.h +++ b/lib/intel_chipset.h @@ -38,6 +38,7 @@ uint32_t intel_get_drm_devid(int fd); struct intel_device_info { unsigned graphics_ver; + unsigned graphics_rel; unsigned display_ver; unsigned gt; /* 0 if unknown */ bool has_4tile : 1; @@ -90,6 +91,7 @@ struct intel_device_info { const struct intel_device_info *intel_get_device_info(uint16_t devid) __attribute__((pure)); unsigned intel_gen(uint16_t devid) __attribute__((pure)); +unsigned intel_graphics_ver(uint16_t devid) __attribute__((pure)); unsigned intel_display_ver(uint16_t devid) __attribute__((pure)); extern enum pch_type intel_pch; @@ -107,6 +109,8 @@ void intel_check_pch(void); #define HAS_CPT (intel_pch == PCH_CPT) #define HAS_LPT (intel_pch == PCH_LPT) +#define IP_VER(ver, rel) ((ver) << 8 | (rel)) + /* Exclude chipset #defines, they just add noise */ #ifndef __GTK_DOC_IGNORE__ diff --git a/lib/intel_device_info.c b/lib/intel_device_info.c index bfdd9fa5..ebfcea73 100644 --- a/lib/intel_device_info.c +++ b/lib/intel_device_info.c @@ -385,6 +385,7 @@ static const struct intel_device_info intel_rocketlake_info = { static const struct intel_device_info intel_dg1_info = { .graphics_ver = 12, + .graphics_rel = 10, .display_ver = 12, .is_dg1 = true, .codename = "dg1" @@ -392,6 +393,7 @@ static const struct intel_device_info intel_dg1_info = { static const struct intel_device_info intel_dg2_info = { .graphics_ver = 12, + .graphics_rel = 55, .display_ver = 13, .has_4tile = true, .is_dg2 = true, @@ -429,6 +431,7 @@ static const struct intel_device_info intel_alderlake_n_info = { static const struct intel_device_info intel_ats_m_info = { .graphics_ver = 12, + .graphics_rel = 55, .display_ver = 0, /* no display support */ .is_dg2 = true, .has_4tile = true, @@ -583,6 +586,13 @@ unsigned intel_gen(uint16_t devid) return intel_get_device_info(devid)->graphics_ver ?: -1u; } +unsigned intel_graphics_ver(uint16_t devid) +{ + const struct intel_device_info *info = intel_get_device_info(devid); + + return IP_VER(info->graphics_ver, info->graphics_rel); +} + /** * intel_display_ver: * @devid: pci device id -- cgit v1.2.3