Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/net/ethernet/microchip/fdma/fdma_api.c __fdma_db_add() -> fdma_db_get()

Type Parameter Key Value
PARAM_VALUE 0 fdma 4096-ptr_max
DATA_SOURCE 0 fdma $0
DATA_SOURCE 1 dcb_idx $1
DATA_SOURCE 2 db_idx $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 fdma->n_dcbs
NO_OVERFLOW_SIMPLE 1 dcb_idx
UNITS 1 dcb_idx unit_array_size

drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c fdma_db_next_get() -> fdma_db_get()

Type Parameter Key Value
PARAM_VALUE 0 fdma 4096-ptr_max
BUF_SIZE 0 fdma 80
DATA_SOURCE 0 fdma $0
RX_PATH
UNITS 1 dcb_idx unit_array_size

drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c lan966x_fdma_tx_clear_buf() -> fdma_db_get()

Type Parameter Key Value
PARAM_VALUE 0 fdma 4096-ptr_max
PARAM_VALUE 1 dcb_idx 0-s32max
PARAM_VALUE 2 db_idx 0
BUF_SIZE 0 fdma 80
CAPPED_DATA 1 dcb_idx 1
FUZZY_MAX 1 dcb_idx 0
PARAM_COMPARE 0 fdma->n_dcbs > $1
PARAM_COMPARE 1 dcb_idx < $0->n_dcbs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dcb_idx unit_array_size
LOCK2 &lan966x->tx_lock
LOCK2 flags
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct lan966x)->tx_lock

drivers/net/ethernet/microchip/sparx5/sparx5_fdma.c fdma_db_next_get() -> fdma_db_get()

Type Parameter Key Value
PARAM_VALUE 0 fdma 4096-ptr_max
BUF_SIZE 0 fdma 80
DATA_SOURCE 0 fdma $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dcb_idx unit_array_size
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/microchip/sparx5/sparx5_fdma.c sparx5_fdma_xmit() -> fdma_db_get()

Type Parameter Key Value
PARAM_VALUE 0 fdma 4096-ptr_max
PARAM_VALUE 1 dcb_idx s32min-(-2),0-s32max
PARAM_VALUE 2 db_idx 0
BUF_SIZE 0 fdma 80
CAPPED_DATA 0 fdma->n_dcbs 1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dcb_idx unit_array_size
LOCK2 &sparx5->tx_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 sparx5)->tx_lock

drivers/net/ethernet/microchip/sparx5/lan969x/lan969x_fdma.c fdma_db_next_get() -> fdma_db_get()

Type Parameter Key Value
PARAM_VALUE 0 fdma 4096-ptr_max
BUF_SIZE 0 fdma 80
DATA_SOURCE 0 fdma $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dcb_idx unit_array_size
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/ethernet/microchip/sparx5/lan969x/lan969x_fdma.c lan969x_fdma_tx_clear_buf() -> fdma_db_get()

Type Parameter Key Value
PARAM_VALUE 0 fdma 4096-ptr_max
PARAM_VALUE 1 dcb_idx 0-s32max
PARAM_VALUE 2 db_idx 0
BUF_SIZE 0 fdma 80
CAPPED_DATA 1 dcb_idx 1
FUZZY_MAX 1 dcb_idx 0
PARAM_COMPARE 0 fdma->n_dcbs > $1
PARAM_COMPARE 1 dcb_idx < $0->n_dcbs
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dcb_idx unit_array_size
LOCK2 &sparx5->tx_lock
LOCK2 flags
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct sparx5)->tx_lock