Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/ethernet/intel/igc/igc_main.c igc_finalize_xdp() -> igc_flush_tx_descriptors()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 0 ring->netdev->num_tx_queues 1
DATA_SOURCE 0 ring r igc_get_tx_ring
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/ethernet/intel/igc/igc_main.c igc_xdp_xmit() -> igc_flush_tx_descriptors()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 0 ring->netdev->num_tx_queues 1
DATA_SOURCE 0 ring r igc_get_tx_ring
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/ethernet/intel/igc/igc_main.c igc_xdp_xmit_zc() -> igc_flush_tx_descriptors()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 0 ring->netdev->num_tx_queues 1
CAPPED_DATA 0 ring->next_to_clean 1
DATA_SOURCE 0 ring $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &nq->_xmit_lock
TYPE_LOCK (struct netdev_queue)->_xmit_lock

drivers/net/ethernet/intel/igc/igc_tsn.c igc_fpe_xmit_smd_frame() -> igc_flush_tx_descriptors()

Type Parameter Key Value
PARAM_VALUE 0 ring 4096-ptr_max
CAPPED_DATA 0 ring->netdev->num_tx_queues 1
CAPPED_DATA 0 ring->next_to_clean 1
DATA_SOURCE 0 ring r igc_get_tx_ring
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mmsv->lock
LOCK2 &nq->_xmit_lock
HALF_LOCKED2 flags
TYPE_LOCK (struct ethtool_mmsv)->lock
TYPE_LOCK (struct netdev_queue)->_xmit_lock