Although we've stored the major and minor versions for graphics/media in
xe_device, it will be simpler to implement the uapi version query if we
also stash the raw register value in the GT itself.
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240123204454.246788-4-jose.souza@intel.com
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
 
        /* Initialize CCS mode sysfs after early initialization of HW engines */
        xe_gt_ccs_mode_sysfs_init(gt);
 
+       /*
+        * Stash hardware-reported version.  Since this register does not exist
+        * on pre-MTL platforms, reading it there will (correctly) return 0.
+        */
+       gt->info.gmdid = xe_mmio_read32(gt, GMD_ID);
+
        err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
        XE_WARN_ON(err);
        xe_device_mem_access_put(gt_to_xe(gt));
 
                 * hwconfig blob.
                 */
                u64 __engine_mask;
+               /** @info.gmdid: raw GMD_ID value from hardware */
+               u32 gmdid;
        } info;
 
        /**