/* * Copyright (C) 2015 Cavium, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. */#include<linux/module.h>#include<linux/interrupt.h>#include<linux/pci.h>#include<linux/etherdevice.h>#include<linux/of.h>#include<linux/if_vlan.h>#include"nic_reg.h"#include"nic.h"#include"q_struct.h"#include"thunder_bgx.h"#define DRV_NAME "nicpf"#define DRV_VERSION "1.0"#define NIC_VF_PER_MBX_REG 64structhw_info{u8bgx_cnt;u8chans_per_lmac;u8chans_per_bgx;/* Rx/Tx chans */u8chans_per_rgx;u8chans_per_lbk;u16cpi_cnt;u16rssi_cnt;u16rss_ind_tbl_size;u16tl4_cnt;u16tl3_cnt;u8tl2_cnt;u8tl1_cnt;booltl1_per_bgx;/* TL1 per BGX or per LMAC */};structnicpf{structpci_dev*pdev;structhw_info*hw;u8node;unsignedintflags;u8num_vf_en;/* No of VF enabled */