drm/i915/GuC/GLK: Load GuC on GLK
authorAnusha Srivatsa <[email protected]>
Thu, 30 Mar 2017 20:24:06 +0000 (13:24 -0700)
committerAnder Conselvan de Oliveira <[email protected]>
Fri, 7 Apr 2017 07:23:19 +0000 (10:23 +0300)
Load GuC 10.56 on GLK. Work on firmware is still
in progress. Testing has not been done yet.
This patch addresses the initial need to load the GuC
firmware for HuC authentication

v2: rebased.

Cc: Jeff mcgee <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Cc: John Spotswood <[email protected]>
Signed-off-by: Anusha Srivatsa <[email protected]>
Reviewed-by: John Spotswood <[email protected]>
Signed-off-by: Ander Conselvan de Oliveira <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
drivers/gpu/drm/i915/intel_guc_loader.c

index 2793c01767b831d76fcd56aefd4ebea916295680..12f80ece1d0527a999b2a145af1df516cccefc42 100644 (file)
@@ -61,6 +61,9 @@
 #define KBL_FW_MAJOR 9
 #define KBL_FW_MINOR 14
 
+#define GLK_FW_MAJOR 10
+#define GLK_FW_MINOR 56
+
 #define GUC_FW_PATH(platform, major, minor) \
        "i915/" __stringify(platform) "_guc_ver" __stringify(major) "_" __stringify(minor) ".bin"
 
@@ -73,6 +76,8 @@ MODULE_FIRMWARE(I915_BXT_GUC_UCODE);
 #define I915_KBL_GUC_UCODE GUC_FW_PATH(kbl, KBL_FW_MAJOR, KBL_FW_MINOR)
 MODULE_FIRMWARE(I915_KBL_GUC_UCODE);
 
+#define I915_GLK_GUC_UCODE GUC_FW_PATH(glk, GLK_FW_MAJOR, GLK_FW_MINOR)
+
 
 static u32 get_gttype(struct drm_i915_private *dev_priv)
 {
@@ -405,6 +410,10 @@ int intel_guc_select_fw(struct intel_guc *guc)
                guc->fw.path = I915_KBL_GUC_UCODE;
                guc->fw.major_ver_wanted = KBL_FW_MAJOR;
                guc->fw.minor_ver_wanted = KBL_FW_MINOR;
+       } else if (IS_GEMINILAKE(dev_priv)) {
+               guc->fw.path = I915_GLK_GUC_UCODE;
+               guc->fw.major_ver_wanted = GLK_FW_MAJOR;
+               guc->fw.minor_ver_wanted = GLK_FW_MINOR;
        } else {
                DRM_ERROR("No GuC firmware known for platform with GuC!\n");
                return -ENOENT;