From: Chris Wilson Date: Tue, 7 Jan 2020 17:28:42 +0000 (+0000) Subject: drm/i915/gt: Always force restore freshly pinned contexts X-Git-Tag: v5.6-rc1~114^2~7^2~46 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d7cb6975f11ee4615c37a73144ca58a5ccf65894;p=users%2Fjedix%2Flinux-maple.git drm/i915/gt: Always force restore freshly pinned contexts It is highly unlikely, but still conceivable, that we submit a context with the same GGTT address as last active on the HW. In this case, with a matching LRCA, the HW would not restore the new context image causing a potential violation of our context isolation. Signed-off-by: Chris Wilson Cc: Mika Kuoppala Acked-by: Mika Kuoppala Link: https://patchwork.freedesktop.org/patch/msgid/20200107172842.3315449-1-chris@chris-wilson.co.uk --- diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c index 5f171e43f79c..bd74b76c6403 100644 --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -2583,7 +2583,7 @@ __execlists_context_pin(struct intel_context *ce, goto unpin_active; } - ce->lrc_desc = lrc_descriptor(ce, engine); + ce->lrc_desc = lrc_descriptor(ce, engine) | CTX_DESC_FORCE_RESTORE; ce->lrc_reg_state = vaddr + LRC_STATE_PN * PAGE_SIZE; __execlists_update_reg_state(ce, engine);