Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/ethernet/cadence/macb_main.c gem_init_rings() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 1 index 0-s32max
BUF_SIZE 0 queue (-1),11712
BUF_SIZE 0 queue (-1),11712
CAPPED_DATA 1 index 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 index unit_array_size

drivers/net/ethernet/cadence/macb_main.c gem_shuffle_tx_one_ring() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
BUF_SIZE 0 queue (-1),11712
BUF_SIZE 0 queue (-1),11712
CAPPED_DATA 1 index 1
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
LOCK2 &pl->phydev_mutex
LOCK2 &pl->state_mutex
LOCK2 &pool->lock
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &phy->lock
TYPE_LOCK (struct macb_queue)->tx_ptr_lock
TYPE_LOCK (struct phylink)->phydev_mutex
TYPE_LOCK (struct phylink)->state_mutex

drivers/net/ethernet/cadence/macb_main.c gem_shuffle_tx_one_ring() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
BUF_SIZE 0 queue (-1),11712
BUF_SIZE 0 queue (-1),11712
CAPPED_DATA 1 index 1
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
LOCK2 &pl->phydev_mutex
LOCK2 &pl->state_mutex
LOCK2 &pool->lock
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &phy->lock
TYPE_LOCK (struct macb_queue)->tx_ptr_lock
TYPE_LOCK (struct phylink)->phydev_mutex
TYPE_LOCK (struct phylink)->state_mutex

drivers/net/ethernet/cadence/macb_main.c gem_shuffle_tx_one_ring() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
BUF_SIZE 0 queue (-1),11712
BUF_SIZE 0 queue (-1),11712
CAPPED_DATA 1 index 1
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
LOCK2 &pl->phydev_mutex
LOCK2 &pl->state_mutex
LOCK2 &pool->lock
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &phy->lock
TYPE_LOCK (struct macb_queue)->tx_ptr_lock
TYPE_LOCK (struct phylink)->phydev_mutex
TYPE_LOCK (struct phylink)->state_mutex

drivers/net/ethernet/cadence/macb_main.c gem_shuffle_tx_one_ring() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
BUF_SIZE 0 queue (-1),11712
BUF_SIZE 0 queue (-1),11712
CAPPED_DATA 1 index 1
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
LOCK2 &pl->phydev_mutex
LOCK2 &pl->state_mutex
LOCK2 &pool->lock
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &phy->lock
TYPE_LOCK (struct macb_queue)->tx_ptr_lock
TYPE_LOCK (struct phylink)->phydev_mutex
TYPE_LOCK (struct phylink)->state_mutex

drivers/net/ethernet/cadence/macb_main.c gem_shuffle_tx_one_ring() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
BUF_SIZE 0 queue (-1),11712
BUF_SIZE 0 queue (-1),11712
CAPPED_DATA 1 index 1
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
LOCK2 &pl->phydev_mutex
LOCK2 &pl->state_mutex
LOCK2 &pool->lock
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &phy->lock
TYPE_LOCK (struct macb_queue)->tx_ptr_lock
TYPE_LOCK (struct phylink)->phydev_mutex
TYPE_LOCK (struct phylink)->state_mutex

drivers/net/ethernet/cadence/macb_main.c gem_shuffle_tx_one_ring() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
BUF_SIZE 0 queue (-1),11712
BUF_SIZE 0 queue (-1),11712
CAPPED_DATA 1 index 1
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
LOCK2 &pl->phydev_mutex
LOCK2 &pl->state_mutex
LOCK2 &pool->lock
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &phy->lock
TYPE_LOCK (struct macb_queue)->tx_ptr_lock
TYPE_LOCK (struct phylink)->phydev_mutex
TYPE_LOCK (struct phylink)->state_mutex

drivers/net/ethernet/cadence/macb_main.c macb_init_rings() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 1 index 0-s32max
BUF_SIZE 0 queue 11712
CAPPED_DATA 1 index 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 index unit_array_size

drivers/net/ethernet/cadence/macb_main.c macb_tx_complete() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
DATA_SOURCE 0 queue $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct macb_queue)->tx_ptr_lock

drivers/net/ethernet/cadence/macb_main.c macb_tx_complete_pending() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
CAPPED_DATA 0 queue->bp->dev->num_tx_queues 1
DATA_SOURCE 0 queue $0
PARAM_COMPARE 0 queue->tx_head != $0->tx_tail
PARAM_COMPARE 1 index != $0->tx_head
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct macb_queue)->tx_ptr_lock

drivers/net/ethernet/cadence/macb_main.c macb_tx_error_task() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
CAPPED_DATA 0 queue->napi_tx.timer.base 1
PARAM_COMPARE 0 queue->tx_head != $1
PARAM_COMPARE 0 &queue->napi_tx.timer != $0->napi_tx.timer.base->running
PARAM_COMPARE 1 index != $0->tx_head
PREEMPT_ADD <- disables preempt
LOCK2 &bp->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct macb)->lock

drivers/net/ethernet/cadence/macb_main.c macb_tx_error_task() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
PARAM_VALUE 1 index 0
CAPPED_DATA 0 queue->napi_tx.timer.base 1
CAPPED_DATA 0 queue->tx_head 1
PARAM_COMPARE 0 &queue->napi_tx.timer != $0->napi_tx.timer.base->running
PREEMPT_ADD <- disables preempt
LOCK2 &bp->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct macb)->lock

drivers/net/ethernet/cadence/macb_main.c macb_tx_map() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
DATA_SOURCE 0 queue $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct macb_queue)->tx_ptr_lock

drivers/net/ethernet/cadence/macb_main.c macb_tx_map() -> macb_tx_desc()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->bp 4096-ptr_max
DATA_SOURCE 0 queue $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &queue->tx_ptr_lock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct macb_queue)->tx_ptr_lock