i915_guc_submit — Submit commands through GuC


int i915_guc_submit (struct drm_i915_gem_request * rq);



request associated with the commands


0 on success, otherwise an errno. (Note: nonzero really shouldn't happen!)

The caller must have already called i915_guc_wq_check_space above with a result of 0 (success) since the last request submission. This guarantees that there is space in the work queue for the new request, so enqueuing the item cannot fail.

Bad Things Will Happen if the caller violates this protocol e.g. calls submit when check says there's no space, or calls submit multiple times with no intervening check.

The only error here arises if the doorbell hardware isn't functioning as expected, which really shouln't happen.