16435f9a0SRastislav Cernay /* SPDX-License-Identifier: BSD-3-Clause 26435f9a0SRastislav Cernay * Copyright(c) 2019 Cesnet 36435f9a0SRastislav Cernay * Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com> 46435f9a0SRastislav Cernay * All rights reserved. 56435f9a0SRastislav Cernay */ 66435f9a0SRastislav Cernay 76435f9a0SRastislav Cernay #ifndef _NFB_H_ 86435f9a0SRastislav Cernay #define _NFB_H_ 96435f9a0SRastislav Cernay 106435f9a0SRastislav Cernay #include <nfb/nfb.h> 116435f9a0SRastislav Cernay #include <nfb/ndp.h> 126435f9a0SRastislav Cernay #include <netcope/rxmac.h> 136435f9a0SRastislav Cernay #include <netcope/txmac.h> 146435f9a0SRastislav Cernay 15ad616a80SStephen Hemminger extern int nfb_logtype; 16*2b843cacSDavid Marchand #define RTE_LOGTYPE_NFB nfb_logtype 17*2b843cacSDavid Marchand #define NFB_LOG(level, ...) \ 18*2b843cacSDavid Marchand RTE_LOG_LINE_PREFIX(level, NFB, "%s(): ", __func__, __VA_ARGS__) 19ad616a80SStephen Hemminger 206435f9a0SRastislav Cernay #include "nfb_rx.h" 216435f9a0SRastislav Cernay #include "nfb_tx.h" 226435f9a0SRastislav Cernay 236435f9a0SRastislav Cernay /* PCI Vendor ID */ 246435f9a0SRastislav Cernay #define PCI_VENDOR_ID_NETCOPE 0x1b26 25f37c57a1SRastislav Cernay #define PCI_VENDOR_ID_SILICOM 0x1c2c 266435f9a0SRastislav Cernay 276435f9a0SRastislav Cernay /* PCI Device IDs */ 286435f9a0SRastislav Cernay #define PCI_DEVICE_ID_NFB_40G2 0xcb80 296435f9a0SRastislav Cernay #define PCI_DEVICE_ID_NFB_100G2 0xc2c1 306435f9a0SRastislav Cernay #define PCI_DEVICE_ID_NFB_200G2QL 0xc250 31f37c57a1SRastislav Cernay #define PCI_DEVICE_ID_FB2CGG3 0x00d0 32f37c57a1SRastislav Cernay #define PCI_DEVICE_ID_FB2CGG3D 0xc240 336435f9a0SRastislav Cernay 346435f9a0SRastislav Cernay /* Max index of ndp rx/tx queues */ 356435f9a0SRastislav Cernay #define RTE_ETH_NDP_MAX_RX_QUEUES 32 366435f9a0SRastislav Cernay #define RTE_ETH_NDP_MAX_TX_QUEUES 32 376435f9a0SRastislav Cernay 386435f9a0SRastislav Cernay /* Max index of rx/tx dmas */ 396435f9a0SRastislav Cernay #define RTE_MAX_NC_RXMAC 256 406435f9a0SRastislav Cernay #define RTE_MAX_NC_TXMAC 256 416435f9a0SRastislav Cernay 426435f9a0SRastislav Cernay #define RTE_NFB_DRIVER_NAME net_nfb 436435f9a0SRastislav Cernay 449c7fd48fSRastislav Cernay 456435f9a0SRastislav Cernay struct pmd_internals { 466435f9a0SRastislav Cernay uint16_t max_rxmac; 476435f9a0SRastislav Cernay uint16_t max_txmac; 486435f9a0SRastislav Cernay struct nc_rxmac *rxmac[RTE_MAX_NC_RXMAC]; 496435f9a0SRastislav Cernay struct nc_txmac *txmac[RTE_MAX_NC_TXMAC]; 506435f9a0SRastislav Cernay struct nfb_device *nfb; 516435f9a0SRastislav Cernay }; 526435f9a0SRastislav Cernay 536435f9a0SRastislav Cernay #endif /* _NFB_H_ */ 54