Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c sparx5_mact_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts->n_ports 30,65
PARAM_VALUE 1 pgid 7
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_auto_cals 1
CAPPED_DATA 0 sparx5->data->consts->n_dsm_cal_taxis 1
CAPPED_DATA 0 sparx5->data->consts->n_lb_groups 1
CAPPED_DATA 0 sparx5->data->consts->n_own_upsids 1
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_ports 1
CAPPED_DATA 0 sparx5->data->consts->n_ports_all 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c sparx5_mc_sync() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 1 pgid 7

drivers/net/ethernet/microchip/sparx5/sparx5_main.c sparx5_forwarding_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts->n_ports 30,65
PARAM_VALUE 1 pgid 0
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_ports 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_main.c sparx5_forwarding_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts->n_ports 30,65
PARAM_VALUE 1 pgid 6
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_ports 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_main.c sparx5_forwarding_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts->n_ports 30,65
PARAM_VALUE 1 pgid 6
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_ports 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_main.c sparx5_forwarding_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts->n_ports 30,65
PARAM_VALUE 1 pgid 7
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_ports 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_main.c sparx5_forwarding_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts->n_ports 30,65
PARAM_VALUE 1 pgid 6
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_ports 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_handle_port_vlan_add() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 1 pgid 6

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_add_addr() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 1 pgid 7

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_attr_bridge_flags() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 1 pgid 1

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_attr_bridge_flags() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 1 pgid 0

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_attr_bridge_flags() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 1 pgid 6

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_bridge_leave() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 1 pgid 7

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_update_mcast_ip_flood() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 1 pgid 2

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_update_mcast_ip_flood() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 1 pgid 5

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_port_update_mcast_ip_flood() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 1 pgid 5

drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c sparx5_switchdev_bridge_fdb_event_work() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 1 pgid 7
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c sparx5_pgid_alloc_mcast() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 1 pgid 8
DATA_SOURCE 0 sparx5 $0

drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c sparx5_pgid_free() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 1 pgid 7
DATA_SOURCE 0 sparx5 $0
LOCK2 0 &sparx5->mdb_lock
TYPE_LOCK (struct sparx5)->mdb_lock

drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c sparx5_pgid_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 1 pgid 7
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c sparx5_pgid_init() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 0 sparx5->data->consts 4096-ptr_max
PARAM_VALUE 1 pgid 7
BUF_SIZE 0 sparx5 84440
BUF_SIZE 0 sparx5->debugfs_root s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->dev 1616
BUF_SIZE 0 sparx5->fdma_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->ptp_irq s32min-(-1),1-s32max
BUF_SIZE 0 sparx5->xtr_irq s32min-(-1),1-s32max
CAPPED_DATA 0 sparx5->data->consts->n_pgids 1
CAPPED_DATA 0 sparx5->data->consts->n_sio_clks 1
CAPPED_DATA 0 sparx5->data->iomap_size 1
CAPPED_DATA 0 sparx5->data->ioranges 1
CAPPED_DATA 0 sparx5->debugfs_root 1
CAPPED_DATA 0 sparx5->dev 1
CAPPED_DATA 0 sparx5->port_count 1
DATA_SOURCE 0 sparx5 $0
MEM_ZERO 0 sparx5
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 sparx5->chip_id 0-u32max
HOST_DATA 0 sparx5->target_ct 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 sparx5->fdma_irq
NO_OVERFLOW_SIMPLE 0 sparx5->port_count
NO_OVERFLOW_SIMPLE 0 sparx5->ptp_irq
NO_OVERFLOW_SIMPLE 0 sparx5->xtr_irq

drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c sparx5_set_mac_address() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 1 pgid 7
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &dev_addr_sem
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c sparx5_set_port_ifh() -> sparx5_get_pgid()

Type Parameter Key Value
PARAM_VALUE 0 sparx5 4096-ptr_max
PARAM_VALUE 0 sparx5->data 4096-ptr_max
PARAM_VALUE 1 pgid 0
DATA_SOURCE 0 sparx5 $0
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