18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci/* Copyright (C) 2017 Netronome Systems, Inc. */ 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci#include "../nfpcore/nfp_cpp.h" 58c2ecf20Sopenharmony_ci#include "../nfpcore/nfp_nsp.h" 68c2ecf20Sopenharmony_ci#include "../nfp_app.h" 78c2ecf20Sopenharmony_ci#include "../nfp_main.h" 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cistatic int nfp_nic_init(struct nfp_app *app) 108c2ecf20Sopenharmony_ci{ 118c2ecf20Sopenharmony_ci struct nfp_pf *pf = app->pf; 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci if (pf->eth_tbl && pf->max_data_vnics != pf->eth_tbl->count) { 148c2ecf20Sopenharmony_ci nfp_err(pf->cpp, "ETH entries don't match vNICs (%d vs %d)\n", 158c2ecf20Sopenharmony_ci pf->max_data_vnics, pf->eth_tbl->count); 168c2ecf20Sopenharmony_ci return -EINVAL; 178c2ecf20Sopenharmony_ci } 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci return 0; 208c2ecf20Sopenharmony_ci} 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_cistatic int nfp_nic_sriov_enable(struct nfp_app *app, int num_vfs) 238c2ecf20Sopenharmony_ci{ 248c2ecf20Sopenharmony_ci return 0; 258c2ecf20Sopenharmony_ci} 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_cistatic void nfp_nic_sriov_disable(struct nfp_app *app) 288c2ecf20Sopenharmony_ci{ 298c2ecf20Sopenharmony_ci} 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciconst struct nfp_app_type app_nic = { 328c2ecf20Sopenharmony_ci .id = NFP_APP_CORE_NIC, 338c2ecf20Sopenharmony_ci .name = "nic", 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci .init = nfp_nic_init, 368c2ecf20Sopenharmony_ci .vnic_alloc = nfp_app_nic_vnic_alloc, 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci .sriov_enable = nfp_nic_sriov_enable, 398c2ecf20Sopenharmony_ci .sriov_disable = nfp_nic_sriov_disable, 408c2ecf20Sopenharmony_ci}; 41