intel_logical_ring_advance_and_submit — advance the tail and submit the workload
void intel_logical_ring_advance_and_submit ( | struct intel_ringbuffer * ringbuf) ; |
The tail is updated in our logical ringbuffer struct, not in the actual context. What really happens during submission is that the context and current tail will be placed on a queue waiting for the ELSP to be ready to accept a new context submission. At that point, the tail *inside* the context is updated and the ELSP written to.