MCPcopy Create free account
hub / github.com/F-Stack/f-stack / idpf_adapter_ext_init

Function idpf_adapter_ext_init

dpdk/drivers/net/idpf/idpf_ethdev.c:1188–1238  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1186};
1187
1188static int
1189idpf_adapter_ext_init(struct rte_pci_device *pci_dev, struct idpf_adapter_ext *adapter)
1190{
1191 struct idpf_adapter *base = &adapter->base;
1192 struct idpf_hw *hw = &base->hw;
1193 int ret = 0;
1194
1195 hw->hw_addr = (void *)pci_dev->mem_resource[0].addr;
1196 hw->hw_addr_len = pci_dev->mem_resource[0].len;
1197 hw->back = base;
1198 hw->vendor_id = pci_dev->id.vendor_id;
1199 hw->device_id = pci_dev->id.device_id;
1200 hw->subsystem_vendor_id = pci_dev->id.subsystem_vendor_id;
1201
1202 strncpy(adapter->name, pci_dev->device.name, PCI_PRI_STR_SIZE);
1203
1204 rte_memcpy(&base->caps, &req_caps, sizeof(struct virtchnl2_get_capabilities));
1205
1206 ret = idpf_adapter_init(base);
1207 if (ret != 0) {
1208 PMD_INIT_LOG(ERR, "Failed to init adapter");
1209 goto err_adapter_init;
1210 }
1211
1212 rte_eal_alarm_set(IDPF_ALARM_INTERVAL, idpf_dev_alarm_handler, adapter);
1213
1214 adapter->max_vport_nb = adapter->base.caps.max_vports;
1215
1216 adapter->vports = rte_zmalloc("vports",
1217 adapter->max_vport_nb *
1218 sizeof(*adapter->vports),
1219 0);
1220 if (adapter->vports == NULL) {
1221 PMD_INIT_LOG(ERR, "Failed to allocate vports memory");
1222 ret = -ENOMEM;
1223 goto err_vports_alloc;
1224 }
1225
1226 adapter->cur_vports = 0;
1227 adapter->cur_vport_nb = 0;
1228
1229 adapter->used_vecs_num = 0;
1230
1231 return ret;
1232
1233err_vports_alloc:
1234 rte_eal_alarm_cancel(idpf_dev_alarm_handler, adapter);
1235 idpf_adapter_deinit(base);
1236err_adapter_init:
1237 return ret;
1238}
1239
1240static uint16_t
1241idpf_vport_idx_alloc(struct idpf_adapter_ext *ad)

Callers 1

idpf_pci_probeFunction · 0.85

Calls 7

strncpyFunction · 0.85
idpf_adapter_initFunction · 0.85
rte_zmallocFunction · 0.85
idpf_adapter_deinitFunction · 0.85
rte_memcpyFunction · 0.50
rte_eal_alarm_setFunction · 0.50
rte_eal_alarm_cancelFunction · 0.50

Tested by

no test coverage detected