[Intel-gfx] About CTX_CONTEXT_CONTROL initialization in populate_lr_context() intel_lrc.c
Daniel, Thomas
thomas.daniel at intel.com
Tue Feb 10 06:55:59 PST 2015
> -----Original Message-----
> From: Wang, Zhi A
> Sent: Tuesday, February 10, 2015 2:44 PM
> To: Daniel, Thomas; Intel-gfx at lists.freedesktop.org
> Subject: RE: About CTX_CONTEXT_CONTROL initialization in
> populate_lr_context() intel_lrc.c
>
> Hi Thomas:
> Thanks for the information! Learned a lot. :)
>
> I remember that semaphore is disabled on Gen8 for a long time ago.
> Recently I found it has been enabled. just thought that if a workload which
> isn't being protected by MI_ARB_ON_OFF may be switched out by failing to
> wait semaphore here without that bit?
Please check i915_drv.c i915_semaphore_is_enabled - should return false if execlists are enabled, or if we are on Gen8.
> Would you mind to give a help to confirm the correct combos? That would be
> nice and great helpful to me :)
>
> a. Set "Inhibit Synchronous Context Switch" bit, HW will wait until the
> condition is true or specific event is generated if SW issue some instructions
> like MI_SEMAPHORE_WAIT, I thought that's why SW don't need to process
> CSB with wait_semaphore bit set. But if MI_ARB_ON_OFF is ON, Can SW do a
> preemption here by submitting a new ELSP write combo?
Correct. However the driver will never cause a pre-emption in this way at the moment.
> b. Clear "Inhibit Synchronous Context Switch", HW will switch out context
> directly after the condition is false or specific event is not generated at that
> time, and write a CSB with wait_semaphore bit is set. And SW has to be
> aware this kinds of CSB in this case I think...
Correct. But as I said, I don't think any of these events will be generated.
Thomas.
More information about the Intel-gfx
mailing list