Defined in 3 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/infiniband/hw/hfi1/sdma.c sdma_flush() -> complete_tx()

Type Parameter Key Value
PARAM_VALUE 0 sde 4096-ptr_max
PARAM_VALUE 0 sde->flushlist_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sde->tx_ring 4096-ptr_max
PARAM_VALUE 1 tx 4096-ptr_max
PARAM_VALUE 2 res 2
CAPPED_DATA 0 sde 1
CAPPED_DATA 0 &sde->flushlist 1
DATA_SOURCE 0 sde $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 sde->descq_cnt
NO_OVERFLOW_SIMPLE 0 sde->this_idx
LOCK2 0 &sde->head_lock.lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &sde->tail_lock
TYPE_LOCK (struct seqlock)->lock

drivers/infiniband/hw/hfi1/sdma.c sdma_flush_descq() -> complete_tx()

Type Parameter Key Value
PARAM_VALUE 0 sde 4096-ptr_max
PARAM_VALUE 0 sde->tx_ring 4096-ptr_max
PARAM_VALUE 1 tx 4096-ptr_max
PARAM_VALUE 2 res 2
CAPPED_DATA 1 tx->next_descq_idx 1
DATA_SOURCE 0 sde $0
DATA_SOURCE 1 tx r get_txhead
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 sde->descq_cnt
NO_OVERFLOW_SIMPLE 0 sde->this_idx
LOCK2 0 &sde->head_lock.lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &sde->tail_lock
TYPE_LOCK (struct seqlock)->lock

drivers/infiniband/hw/hfi1/sdma.c sdma_make_progress() -> complete_tx()

Type Parameter Key Value
PARAM_VALUE 0 sde 4096-ptr_max
PARAM_VALUE 0 sde->dd 4096-ptr_max
PARAM_VALUE 0 sde->head_lock.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sde->tx_ring 4096-ptr_max
PARAM_VALUE 1 tx 4096-ptr_max
PARAM_VALUE 2 res 0
CAPPED_DATA 0 sde 1
CAPPED_DATA 1 tx->next_descq_idx 1
DATA_SOURCE 0 sde $0
DATA_SOURCE 1 tx r get_txhead
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &sde->head_lock.lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &sde->tail_lock
TYPE_LOCK (struct seqlock)->lock