Documented in 1 files:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/net/thunderbolt/main.c tbnet_alloc_rx_buffers() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/thunderbolt/main.c tbnet_alloc_tx_buffers() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
HALF_LOCKED2 &pool->lock

drivers/net/thunderbolt/main.c tbnet_free_buffers() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->connection_lock

drivers/net/thunderbolt/main.c tbnet_get_tx_buffer() -> tb_ring_dma_device()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/thunderbolt/main.c tbnet_poll() -> tb_ring_dma_device()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/thunderbolt/main.c tbnet_xmit_csum_and_map() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/thunderbolt/stream.c tbstream_dev_alloc_rx_buffers() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->lock

drivers/thunderbolt/stream.c tbstream_dev_alloc_tx() -> tb_ring_dma_device()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sdev->lock
TYPE_LOCK (struct tbstream_dev)->lock

drivers/thunderbolt/stream.c tbstream_dev_alloc_tx_buffers() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->lock

drivers/thunderbolt/stream.c tbstream_dev_completed_rx() -> tb_ring_dma_device()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sdev->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tbstream_dev)->lock

drivers/thunderbolt/stream.c tbstream_dev_consume_rx() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
PARAM_VALUE 0 ring->nhi 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sdev->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct tbstream_dev)->lock

drivers/thunderbolt/stream.c tbstream_ring_free() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &sdev->lock

drivers/thunderbolt/dma_test.c dma_test_rx_callback() -> tb_ring_dma_device()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/thunderbolt/dma_test.c dma_test_submit_rx() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
LOCK2 &attr->mutex
LOCK2 &dt->lock
TYPE_LOCK (struct dma_test)->lock
TYPE_LOCK (struct simple_attr)->mutex

drivers/thunderbolt/dma_test.c dma_test_submit_tx() -> tb_ring_dma_device()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
LOCK2 &attr->mutex
LOCK2 &dt->lock
TYPE_LOCK (struct dma_test)->lock
TYPE_LOCK (struct simple_attr)->mutex

drivers/thunderbolt/dma_test.c dma_test_tx_callback() -> tb_ring_dma_device()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING