MCPcopy Index your code
hub / github.com/F-Stack/f-stack / rte_eth_dev_callback_process

Function rte_eth_dev_callback_process

dpdk/lib/ethdev/ethdev_driver.c:179–204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177}
178
179int
180rte_eth_dev_callback_process(struct rte_eth_dev *dev,
181 enum rte_eth_event_type event, void *ret_param)
182{
183 struct rte_eth_dev_callback *cb_lst;
184 struct rte_eth_dev_callback dev_cb;
185 int rc = 0;
186
187 rte_spinlock_lock(&eth_dev_cb_lock);
188 TAILQ_FOREACH(cb_lst, &(dev->link_intr_cbs), next) {
189 if (cb_lst->cb_fn == NULL || cb_lst->event != event)
190 continue;
191 dev_cb = *cb_lst;
192 cb_lst->active = 1;
193 if (ret_param != NULL)
194 dev_cb.ret_param = ret_param;
195
196 rte_spinlock_unlock(&eth_dev_cb_lock);
197 rc = dev_cb.cb_fn(dev->data->port_id, dev_cb.event,
198 dev_cb.cb_arg, dev_cb.ret_param);
199 rte_spinlock_lock(&eth_dev_cb_lock);
200 cb_lst->active = 0;
201 }
202 rte_spinlock_unlock(&eth_dev_cb_lock);
203 return rc;
204}
205
206void
207rte_eth_dev_probing_finish(struct rte_eth_dev *dev)

Callers 15

rte_eth_dev_release_portFunction · 0.85
atl_dev_interrupt_actionFunction · 0.85
eth_igb_interrupt_actionFunction · 0.85
igbvf_mbx_processFunction · 0.85
eth_em_interrupt_handlerFunction · 0.85
ena_timer_wd_callbackFunction · 0.85
mlx4_link_status_alarmFunction · 0.85
mlx4_interrupt_handlerFunction · 0.85
virtio_interrupt_handlerFunction · 0.85
mana_intr_handlerFunction · 0.85

Calls 2

rte_spinlock_lockFunction · 0.50
rte_spinlock_unlockFunction · 0.50