linux/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * QLogic qlcnic NIC Driver
 * Copyright (c) 2009-2013 QLogic Corporation
 */

#include <linux/types.h>

#include "qlcnic_sriov.h"
#include "qlcnic.h"

#define QLCNIC_SRIOV_VF_MAX_MAC
#define QLC_VF_MIN_TX_RATE
#define QLC_VF_MAX_TX_RATE
#define QLC_MAC_OPCODE_MASK
#define QLC_VF_FLOOD_BIT
#define QLC_FLOOD_MODE
#define QLC_SRIOV_ALLOW_VLAN0
#define QLC_INTR_COAL_TYPE_MASK

static int qlcnic_sriov_pf_get_vport_handle(struct qlcnic_adapter *, u8);

struct qlcnic_sriov_cmd_handler {};

struct qlcnic_sriov_fw_cmd_handler {};

static int qlcnic_sriov_pf_set_vport_info(struct qlcnic_adapter *adapter,
					  struct qlcnic_info *npar_info,
					  u16 vport_id)
{}

static int qlcnic_sriov_pf_cal_res_limit(struct qlcnic_adapter *adapter,
					 struct qlcnic_info *info, u16 func)
{}

static void qlcnic_sriov_pf_set_ff_max_res(struct qlcnic_adapter *adapter,
					   struct qlcnic_info *info)
{}

static void qlcnic_sriov_set_vf_max_vlan(struct qlcnic_adapter *adapter,
					 struct qlcnic_info *npar_info)
{}

static int qlcnic_sriov_get_pf_info(struct qlcnic_adapter *adapter,
				    struct qlcnic_info *npar_info)
{}

static void qlcnic_sriov_pf_reset_vport_handle(struct qlcnic_adapter *adapter,
					       u8 func)
{}

static void qlcnic_sriov_pf_set_vport_handle(struct qlcnic_adapter *adapter,
					     u16 vport_handle, u8 func)
{}

static int qlcnic_sriov_pf_get_vport_handle(struct qlcnic_adapter *adapter,
					    u8 func)
{}

static int qlcnic_sriov_pf_config_vport(struct qlcnic_adapter *adapter,
					u8 flag, u16 func)
{}

static int qlcnic_sriov_pf_cfg_vlan_filtering(struct qlcnic_adapter *adapter,
					      u8 enable)
{}

/* On configuring VF flood bit, PFD will receive traffic from all VFs */
static int qlcnic_sriov_pf_cfg_flood(struct qlcnic_adapter *adapter)
{}

static int qlcnic_sriov_pf_cfg_eswitch(struct qlcnic_adapter *adapter,
				       u8 func, u8 enable)
{}

static void qlcnic_sriov_pf_del_flr_queue(struct qlcnic_adapter *adapter)
{}

static int qlcnic_sriov_pf_create_flr_queue(struct qlcnic_adapter *adapter)
{}

void qlcnic_sriov_pf_cleanup(struct qlcnic_adapter *adapter)
{}

void qlcnic_sriov_pf_disable(struct qlcnic_adapter *adapter)
{}

static int qlcnic_pci_sriov_disable(struct qlcnic_adapter *adapter)
{}

static int qlcnic_sriov_pf_init(struct qlcnic_adapter *adapter)
{}

static int qlcnic_sriov_pf_enable(struct qlcnic_adapter *adapter, int num_vfs)
{}

static int __qlcnic_pci_sriov_enable(struct qlcnic_adapter *adapter,
				     int num_vfs)
{}

static int qlcnic_pci_sriov_enable(struct qlcnic_adapter *adapter, int num_vfs)
{}

int qlcnic_pci_sriov_configure(struct pci_dev *dev, int num_vfs)
{}

static int qlcnic_sriov_set_vf_acl(struct qlcnic_adapter *adapter, u8 func)
{}

static int qlcnic_sriov_set_vf_vport_info(struct qlcnic_adapter *adapter,
					  u16 func)
{}

static int qlcnic_sriov_pf_channel_cfg_cmd(struct qlcnic_bc_trans *trans,
					   struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_cfg_vf_def_mac(struct qlcnic_adapter *adapter,
				       struct qlcnic_vf_info *vf,
				       u16 vlan, u8 op)
{}

static int qlcnic_sriov_validate_create_rx_ctx(struct qlcnic_cmd_args *cmd)
{}

static void qlcnic_83xx_cfg_default_mac_vlan(struct qlcnic_adapter *adapter,
					     struct qlcnic_vf_info *vf,
					     int opcode)
{}

static int qlcnic_sriov_pf_create_rx_ctx_cmd(struct qlcnic_bc_trans *tran,
					     struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_mac_address_cmd(struct qlcnic_bc_trans *trans,
					   struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_create_tx_ctx(struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_create_tx_ctx_cmd(struct qlcnic_bc_trans *trans,
					     struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_del_rx_ctx(struct qlcnic_vf_info *vf,
					    struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_del_rx_ctx_cmd(struct qlcnic_bc_trans *trans,
					  struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_del_tx_ctx(struct qlcnic_vf_info *vf,
					    struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_del_tx_ctx_cmd(struct qlcnic_bc_trans *trans,
					  struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_cfg_lro(struct qlcnic_vf_info *vf,
					 struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_lro_cmd(struct qlcnic_bc_trans *trans,
				       struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_ip_cmd(struct qlcnic_bc_trans *trans,
				      struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_cfg_intrpt(struct qlcnic_vf_info *vf,
					    struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_intrpt_cmd(struct qlcnic_bc_trans *trans,
					  struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_mtu(struct qlcnic_adapter *adapter,
				     struct qlcnic_vf_info *vf,
				     struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_set_mtu_cmd(struct qlcnic_bc_trans *trans,
				       struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_get_nic_info(struct qlcnic_vf_info *vf,
					      struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_get_nic_info_cmd(struct qlcnic_bc_trans *trans,
					    struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_cfg_rss(struct qlcnic_vf_info *vf,
					 struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_rss_cmd(struct qlcnic_bc_trans *trans,
				       struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_cfg_intrcoal(struct qlcnic_adapter *adapter,
					      struct qlcnic_vf_info *vf,
					      struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_intrcoal_cmd(struct qlcnic_bc_trans *tran,
					    struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_cfg_macvlan(struct qlcnic_adapter *adapter,
					     struct qlcnic_vf_info *vf,
					     struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_macvlan_cmd(struct qlcnic_bc_trans *trans,
					   struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_validate_linkevent(struct qlcnic_vf_info *vf,
					   struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_linkevent_cmd(struct qlcnic_bc_trans *trans,
					 struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_promisc_cmd(struct qlcnic_bc_trans *trans,
					   struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_get_acl_cmd(struct qlcnic_bc_trans *trans,
				       struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_del_guest_vlan(struct qlcnic_adapter *adapter,
					  struct qlcnic_vf_info *vf,
					  struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_add_guest_vlan(struct qlcnic_adapter *adapter,
					  struct qlcnic_vf_info *vf,
					  struct qlcnic_cmd_args *cmd)
{}

static int qlcnic_sriov_pf_cfg_guest_vlan_cmd(struct qlcnic_bc_trans *tran,
					      struct qlcnic_cmd_args *cmd)
{}

static const int qlcnic_pf_passthru_supp_cmds[] =;

static const struct qlcnic_sriov_cmd_handler qlcnic_pf_bc_cmd_hdlr[] =;

static const struct qlcnic_sriov_fw_cmd_handler qlcnic_pf_fw_cmd_hdlr[] =;

void qlcnic_sriov_pf_process_bc_cmd(struct qlcnic_adapter *adapter,
				    struct qlcnic_bc_trans *trans,
				    struct qlcnic_cmd_args *cmd)
{}

void qlcnic_pf_set_interface_id_create_rx_ctx(struct qlcnic_adapter *adapter,
					     u32 *int_id)
{}

void qlcnic_pf_set_interface_id_del_rx_ctx(struct qlcnic_adapter *adapter,
					   u32 *int_id)
{}

void qlcnic_pf_set_interface_id_create_tx_ctx(struct qlcnic_adapter *adapter,
					      u32 *int_id)
{}

void qlcnic_pf_set_interface_id_del_tx_ctx(struct qlcnic_adapter *adapter,
					   u32 *int_id)
{}

void qlcnic_pf_set_interface_id_promisc(struct qlcnic_adapter *adapter,
					u32 *int_id)
{}

void qlcnic_pf_set_interface_id_ipaddr(struct qlcnic_adapter *adapter,
				       u32 *int_id)
{}

void qlcnic_pf_set_interface_id_macaddr(struct qlcnic_adapter *adapter,
					u32 *int_id)
{}

static void qlcnic_sriov_del_rx_ctx(struct qlcnic_adapter *adapter,
				    struct qlcnic_vf_info *vf)
{}

static void qlcnic_sriov_del_tx_ctx(struct qlcnic_adapter *adapter,
				    struct qlcnic_vf_info *vf)
{}

static int qlcnic_sriov_add_act_list_irqsave(struct qlcnic_sriov *sriov,
					     struct qlcnic_vf_info *vf,
					     struct qlcnic_bc_trans *trans)
{}

static void __qlcnic_sriov_process_flr(struct qlcnic_vf_info *vf)
{}

static void qlcnic_sriov_pf_process_flr(struct work_struct *work)
{}

static void qlcnic_sriov_schedule_flr(struct qlcnic_sriov *sriov,
				      struct qlcnic_vf_info *vf,
				      work_func_t func)
{}

static void qlcnic_sriov_handle_soft_flr(struct qlcnic_adapter *adapter,
					 struct qlcnic_bc_trans *trans,
					 struct qlcnic_vf_info *vf)
{}

bool qlcnic_sriov_soft_flr_check(struct qlcnic_adapter *adapter,
				 struct qlcnic_bc_trans *trans,
				 struct qlcnic_vf_info *vf)
{}

void qlcnic_sriov_pf_handle_flr(struct qlcnic_sriov *sriov,
				struct qlcnic_vf_info *vf)
{}

void qlcnic_sriov_pf_reset(struct qlcnic_adapter *adapter)
{}

int qlcnic_sriov_pf_reinit(struct qlcnic_adapter *adapter)
{}

int qlcnic_sriov_set_vf_mac(struct net_device *netdev, int vf, u8 *mac)
{}

int qlcnic_sriov_set_vf_tx_rate(struct net_device *netdev, int vf,
				int min_tx_rate, int max_tx_rate)
{}

int qlcnic_sriov_set_vf_vlan(struct net_device *netdev, int vf,
			     u16 vlan, u8 qos, __be16 vlan_proto)
{}

static __u32 qlcnic_sriov_get_vf_vlan(struct qlcnic_adapter *adapter,
				      struct qlcnic_vport *vp, int vf)
{}

int qlcnic_sriov_get_vf_config(struct net_device *netdev,
			       int vf, struct ifla_vf_info *ivi)
{}

int qlcnic_sriov_set_vf_spoofchk(struct net_device *netdev, int vf, bool chk)
{}