Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/gpu/drm/i915/gt/gen6_engine_cs.c gen6_emit_breadcrumb_rcs() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 1 tail 1
DATA_SOURCE 1 tail r intel_ring_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/gen6_engine_cs.c gen6_emit_breadcrumb_xcs() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 1 tail 1
DATA_SOURCE 1 tail r intel_ring_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/gen6_engine_cs.c gen7_emit_breadcrumb_rcs() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 1 tail 1
DATA_SOURCE 1 tail r intel_ring_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/gen6_engine_cs.c gen7_emit_breadcrumb_xcs() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 1 tail 1
DATA_SOURCE 1 tail r intel_ring_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/gen8_engine_cs.c gen12_emit_fini_breadcrumb_tail() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 1 tail 1
DATA_SOURCE 1 tail r intel_ring_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/gen8_engine_cs.c gen8_emit_fini_breadcrumb_tail() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 1 tail 1
DATA_SOURCE 1 tail r intel_ring_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/gen2_engine_cs.c __gen2_emit_breadcrumb() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 1 tail 1
DATA_SOURCE 1 tail r intel_ring_offset
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ce->timeline->mutex
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/intel_execlists_submission.c intel_ring_set_tail() -> assert_ring_tail_valid()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 tail $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 tail unit_byte
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 bh

drivers/gpu/drm/i915/gt/intel_ring_submission.c intel_ring_set_tail() -> assert_ring_tail_valid()

Type Parameter Key Value
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 tail $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 tail unit_byte
LOCK2 rcu_read
HALF_LOCKED2 &engine->sched_engine->lock
HALF_LOCKED2 irq

drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c intel_ring_set_tail() -> assert_ring_tail_valid()

Type Parameter Key Value
DATA_SOURCE 0 ring $0
DATA_SOURCE 1 tail $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 tail unit_byte
LOCK2 &sched_engine->lock
LOCK2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct i915_sched_engine)->lock