diff mbox series

drm/i915/guc: Define GuC firmware version for Comet Lake

Message ID 20190715232422.9626-1-anusha.srivatsa@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/guc: Define GuC firmware version for Comet Lake | expand

Commit Message

Srivatsa, Anusha July 15, 2019, 11:24 p.m. UTC
Load GuC for Comet Lake. Depending on the REVID,
we load either the KBL firmware or the CML firmware.

v2: Use CFL for CML platform check.(Michal)
v3: Use >=5 for future proofing(Michal, Daniele)
v4: rebased.

Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>

Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c
index 3dfa40fdbe99..c30cca292ec6 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c
@@ -52,6 +52,13 @@  MODULE_FIRMWARE(SKL_GUC_FIRMWARE_PATH);
 #define BXT_GUC_FIRMWARE_PATH __MAKE_GUC_FW_PATH(BXT)
 MODULE_FIRMWARE(BXT_GUC_FIRMWARE_PATH);
 
+#define CML_GUC_FW_PREFIX cml
+#define CML_GUC_FW_MAJOR 33
+#define CML_GUC_FW_MINOR 0
+#define CML_GUC_FW_PATCH 0
+#define CML_GUC_FIRMWARE_PATH __MAKE_GUC_FW_PATH(CML)
+MODULE_FIRMWARE(CML_GUC_FIRMWARE_PATH);
+
 #define KBL_GUC_FW_PREFIX kbl
 #define KBL_GUC_FW_MAJOR 33
 #define KBL_GUC_FW_MINOR 0
@@ -99,7 +106,17 @@  static void guc_fw_select(struct intel_uc_fw *guc_fw)
 		guc_fw->path = GLK_GUC_FIRMWARE_PATH;
 		guc_fw->major_ver_wanted = GLK_GUC_FW_MAJOR;
 		guc_fw->minor_ver_wanted = GLK_GUC_FW_MINOR;
-	} else if (IS_KABYLAKE(i915) || IS_COFFEELAKE(i915)) {
+	} else if (IS_COFFEELAKE(i915)) {
+		if (INTEL_REVID(i915) >= 5) {
+			guc_fw->path = CML_GUC_FIRMWARE_PATH;
+			guc_fw->major_ver_wanted = CML_GUC_FW_MAJOR;
+			guc_fw->minor_ver_wanted = CML_GUC_FW_MINOR;
+		} else {
+			guc_fw->path = KBL_GUC_FIRMWARE_PATH;
+			guc_fw->major_ver_wanted = KBL_GUC_FW_MAJOR;
+			guc_fw->minor_ver_wanted = KBL_GUC_FW_MINOR;
+		}
+	} else if (IS_KABYLAKE(i915)) {
 		guc_fw->path = KBL_GUC_FIRMWARE_PATH;
 		guc_fw->major_ver_wanted = KBL_GUC_FW_MAJOR;
 		guc_fw->minor_ver_wanted = KBL_GUC_FW_MINOR;