summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirmoy Das <nirmoy.das@intel.com>2022-07-06 14:01:42 +0200
committerMatthew Auld <matthew.auld@intel.com>2022-07-07 09:19:40 +0100
commit671332047e6e9d110c53f3e4511d1c243fe849bf (patch)
tree357987f1463e3a74b02a50b0747f0ce97a695488
parent8aad1e6351d7932b33d4b460d863252eae1123b2 (diff)
lib/i915: Add graphics release subversion to device info
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 <matthew.auld@intel.com> Reviewed-by: Zbigniew KempczyƄski <zbigniew.kempczynski@intel.com> Suggested-by: Chris Wilson <chris.p.wilson@intel.com> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
-rw-r--r--lib/intel_chipset.h4
-rw-r--r--lib/intel_device_info.c10
2 files changed, 14 insertions, 0 deletions
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