]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/guc: Properly initialise kernel contexts
authorJohn Harrison <John.C.Harrison@Intel.com>
Wed, 2 Nov 2022 19:21:08 +0000 (12:21 -0700)
committerJohn Harrison <John.C.Harrison@Intel.com>
Fri, 4 Nov 2022 20:45:44 +0000 (13:45 -0700)
If a context has already been registered prior to first submission
then context init code was not being called. The noticeable effect of
that was the scheduling priority was left at zero (meaning super high
priority) instead of being set to normal. This would occur with
kernel contexts at start of day as they are manually pinned up front
rather than on first submission. So add a call to initialise those
when they are pinned.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221102192109.2492625-2-John.C.Harrison@Intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c

index 4dbdac8002e321f56949ed3a2e19134e0a738eb2..8fbc363564607195f7747d03d3fcbace4966326c 100644 (file)
@@ -4111,6 +4111,9 @@ static inline void guc_kernel_context_pin(struct intel_guc *guc,
        if (context_guc_id_invalid(ce))
                pin_guc_id(guc, ce);
 
+       if (!test_bit(CONTEXT_GUC_INIT, &ce->flags))
+               guc_context_init(ce);
+
        try_context_registration(ce, true);
 }