[Intel-gfx] [PATCH v3] drm/i915/guc: Stop using mutex while sending CTB messages
Chris Wilson
chris at chris-wilson.co.uk
Mon Feb 3 09:58:08 UTC 2020
Quoting Michal Wajdeczko (2020-02-03 09:54:13)
> void intel_guc_ct_init_early(struct intel_guc_ct *ct)
> {
> + int i;
> +
> spin_lock_init(&ct->requests.lock);
> INIT_LIST_HEAD(&ct->requests.pending);
> INIT_LIST_HEAD(&ct->requests.incoming);
> INIT_WORK(&ct->requests.worker, ct_incoming_request_worker_func);
> + for (i = 0; i < ARRAY_SIZE(ct->ctbs); i++) {
> + spin_lock_init(&ct->ctbs[i].lock);
> + lockdep_set_subclass_and_mark_as_used(&ct->ctbs[i].lock, i);
Trybot warned of another issue... We need to hold irq-off for
subclass=1, but equally we have to keep subclass=0 clean.
if (i == 1)
local_irq_disable();
lockdep_set_subclass_and_mark_as_used(&ct->ctbs[i].lock, i);
if (i == 1)
local_irq_enable();
Or wrap that into ...and_mark_as_used(bool irq_off) then we can reuse
that macro in intel_engine_cs.c
-Chris
More information about the Intel-gfx
mailing list