OSDN Git Service

drm/i915: allow to load DMC firmware on next gen
authorLucas De Marchi <lucas.demarchi@intel.com>
Sat, 17 Nov 2018 00:42:33 +0000 (16:42 -0800)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 20 Nov 2018 22:14:17 +0000 (14:14 -0800)
Before commit d8a5b7d79fb7 ("drm/i915/csr: keep max firmware size together
with firmare name and version") it was possible to load the firmware for
testing purposes via parameter. Let's use the size of the last known
platform to recover that behavior.

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181117004234.23437-1-lucas.demarchi@intel.com
drivers/gpu/drm/i915/intel_csr.c

index c1ca659..b4476d8 100644 (file)
@@ -34,6 +34,8 @@
  * low-power state and comes back to normal.
  */
 
+#define GEN12_CSR_MAX_FW_SIZE          ICL_CSR_MAX_FW_SIZE
+
 #define ICL_CSR_PATH                   "i915/icl_dmc_ver1_07.bin"
 #define ICL_CSR_VERSION_REQUIRED       CSR_VERSION(1, 7)
 #define ICL_CSR_MAX_FW_SIZE            0x6000
@@ -467,7 +469,10 @@ void intel_csr_ucode_init(struct drm_i915_private *dev_priv)
         */
        intel_display_power_get(dev_priv, POWER_DOMAIN_INIT);
 
-       if (IS_ICELAKE(dev_priv)) {
+       if (INTEL_GEN(dev_priv) >= 12) {
+               /* Allow to load fw via parameter using the last known size */
+               csr->max_fw_size = GEN12_CSR_MAX_FW_SIZE;
+       } else if (IS_ICELAKE(dev_priv)) {
                csr->fw_path = ICL_CSR_PATH;
                csr->required_version = ICL_CSR_VERSION_REQUIRED;
                csr->max_fw_size = ICL_CSR_MAX_FW_SIZE;