]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
drm/i915/uc: fetch uc firmwares for each GT
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tue, 8 Nov 2022 02:05:55 +0000 (18:05 -0800)
committerDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Mon, 14 Nov 2022 17:58:30 +0000 (09:58 -0800)
The FW binaries are independently loaded on each GT. On MTL, the memory
is shared so we could potentially re-use a single allocation, but on
discrete multi-gt platforms we are going to need independent copies,
so it is easier to do the same on MTL as well, given that the amount
of duplicated memory is relatively small (~500K).

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <john.c.harrison@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221108020600.3575467-2-daniele.ceraolospurio@intel.com
drivers/gpu/drm/i915/i915_gem.c

index 8132743ca87ef7faf6d85bb4e8ce7f9a29458af4..76a8f24b397197a16b0928df089a80a7b0d737bb 100644 (file)
@@ -1140,7 +1140,8 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
        if (ret)
                return ret;
 
-       intel_uc_fetch_firmwares(&to_gt(dev_priv)->uc);
+       for_each_gt(gt, dev_priv, i)
+               intel_uc_fetch_firmwares(&gt->uc);
        intel_wopcm_init(&dev_priv->wopcm);
 
        ret = i915_init_ggtt(dev_priv);