Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/bus/mhi/ep/ring.c mhi_ep_ring_add_element() -> mhi_ep_update_wr_offset()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->mhi_cntrl 4096-ptr_max
PARAM_VALUE 0 ring->ring_ctx->cmd.rbase 0,2048-u64max
PARAM_VALUE 0 ring->ring_ctx->cmd.reserved0 0
PARAM_VALUE 0 ring->ring_ctx->cmd.reserved1 0
PARAM_VALUE 0 ring->ring_ctx->cmd.reserved2 0
PARAM_VALUE 0 ring->ring_ctx->cmd.rlen 0,2048
PARAM_VALUE 0 ring->ring_ctx->ev.ertype 0-1
PARAM_VALUE 0 ring->started 1
BUF_SIZE 0 ring 280
DATA_SOURCE 0 ring $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 ring->mhi_cntrl->ch_ctx_host_pa 0-u64max
HOST_DATA 0 ring->mhi_cntrl->chdb_offset 0-u32max
HOST_DATA 0 ring->mhi_cntrl->cmd_ctx_host_pa 0-u64max
HOST_DATA 0 ring->mhi_cntrl->erdb_offset 0-u32max
HOST_DATA 0 ring->mhi_cntrl->ev_ctx_host_pa 0-u64max
HOST_DATA 0 ring->mhi_cntrl->event_rings 0-u32max[c]
HOST_DATA 0 ring->mhi_cntrl->hw_event_rings 0-u32max[c]
HOST_DATA 0 ring->rbase 0-255
HOST_DATA 0 ring->ring_size 0-15[c]
NO_OVERFLOW_SIMPLE 0 ring->mhi_cntrl->event_rings
NO_OVERFLOW_SIMPLE 0 ring->ring_size
LOCK2 &mhi_cntrl->event_lock
HALF_LOCKED2 &mhi_chan->lock
HALF_LOCKED2 &mhi_cntrl->state_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mhi_ep_cntrl)->event_lock

drivers/bus/mhi/ep/main.c mhi_ep_ch_ring_worker() -> mhi_ep_update_wr_offset()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->started 1
LOCK2 &chan->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mhi_ep_chan)->lock

drivers/bus/mhi/ep/main.c mhi_ep_cmd_ring_worker() -> mhi_ep_update_wr_offset()

Type Parameter Key Value
BUF_SIZE 0 ring 280
HALF_LOCKED2 &pool->lock