Re: [PATCH] drm/i915: Do not end i915 batch buffers prematurely

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 10/17/19 12:37 PM, Stuart Summers wrote:
During engine initialization in i915 load, the batch buffers
being used to set up the initial context are being prematurely
ended. In most scenarios, this does not cause a problem, but

That's not a batch that we add the BBEND to, that's the context itself.

in the rare event the engine expects the context to be added
without an explicit MI_BATCH_BUFFER_END instruction, do not
insert this instruction prematurely.


We only add the BBEND when there is no state to restore, so why would the engine expect to execute a bunch of no-ops?

Daniele

Signed-off-by: Stuart Summers <stuart.summers@xxxxxxxxx>
---
  drivers/gpu/drm/i915/gt/intel_lrc.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index e9fe9f79cedd..ec067c29ac65 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -3805,7 +3805,7 @@ populate_lr_context(struct intel_context *ce,
  	/* The second page of the context object contains some fields which must
  	 * be set up prior to the first execution. */
  	regs = vaddr + LRC_STATE_PN * PAGE_SIZE;
-	execlists_init_reg_state(regs, ce, engine, ring, inhibit);
+	execlists_init_reg_state(regs, ce, engine, ring, false);
  	if (inhibit)
  		regs[CTX_CONTEXT_CONTROL] |=
  			_MASKED_BIT_ENABLE(CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT);

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux