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

Function idpf_adapter_init

dpdk/drivers/common/idpf/idpf_common_device.c:366–424  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

364}
365
366int
367idpf_adapter_init(struct idpf_adapter *adapter)
368{
369 struct idpf_hw *hw = &adapter->hw;
370 int ret;
371
372 if (hw->device_id == IDPF_DEV_ID_SRIOV) {
373 ret = idpf_check_vf_reset_done(hw);
374 } else {
375 idpf_reset_pf(hw);
376 ret = idpf_check_pf_reset_done(hw);
377 }
378 if (ret != 0) {
379 DRV_LOG(ERR, "IDPF is still resetting");
380 goto err_check_reset;
381 }
382
383 ret = idpf_init_mbx(hw);
384 if (ret != 0) {
385 DRV_LOG(ERR, "Failed to init mailbox");
386 goto err_check_reset;
387 }
388
389 adapter->mbx_resp = rte_zmalloc("idpf_adapter_mbx_resp",
390 IDPF_DFLT_MBX_BUF_SIZE, 0);
391 if (adapter->mbx_resp == NULL) {
392 DRV_LOG(ERR, "Failed to allocate idpf_adapter_mbx_resp memory");
393 ret = -ENOMEM;
394 goto err_mbx_resp;
395 }
396
397 ret = idpf_vc_api_version_check(adapter);
398 if (ret != 0) {
399 DRV_LOG(ERR, "Failed to check api version");
400 goto err_check_api;
401 }
402
403 ret = idpf_vc_caps_get(adapter);
404 if (ret != 0) {
405 DRV_LOG(ERR, "Failed to get capabilities");
406 goto err_check_api;
407 }
408
409 ret = idpf_get_pkt_type(adapter);
410 if (ret != 0) {
411 DRV_LOG(ERR, "Failed to set ptype table");
412 goto err_check_api;
413 }
414
415 return 0;
416
417err_check_api:
418 rte_free(adapter->mbx_resp);
419 adapter->mbx_resp = NULL;
420err_mbx_resp:
421 idpf_ctlq_deinit(hw);
422err_check_reset:
423 return ret;

Callers 2

cpfl_adapter_ext_initFunction · 0.85
idpf_adapter_ext_initFunction · 0.85

Calls 10

idpf_check_vf_reset_doneFunction · 0.85
idpf_reset_pfFunction · 0.85
idpf_check_pf_reset_doneFunction · 0.85
idpf_init_mbxFunction · 0.85
rte_zmallocFunction · 0.85
idpf_vc_caps_getFunction · 0.85
idpf_get_pkt_typeFunction · 0.85
rte_freeFunction · 0.85
idpf_ctlq_deinitFunction · 0.85

Tested by

no test coverage detected