17fa8d547SShradha Shah /**************************************************************************** 27fa8d547SShradha Shah * Driver for Solarflare network controllers and boards 37fa8d547SShradha Shah * Copyright 2015 Solarflare Communications Inc. 47fa8d547SShradha Shah * 57fa8d547SShradha Shah * This program is free software; you can redistribute it and/or modify it 67fa8d547SShradha Shah * under the terms of the GNU General Public License version 2 as published 77fa8d547SShradha Shah * by the Free Software Foundation, incorporated herein by reference. 87fa8d547SShradha Shah */ 97fa8d547SShradha Shah 107fa8d547SShradha Shah #ifndef EF10_SRIOV_H 117fa8d547SShradha Shah #define EF10_SRIOV_H 127fa8d547SShradha Shah 137fa8d547SShradha Shah #include "net_driver.h" 147fa8d547SShradha Shah 157fa8d547SShradha Shah static inline bool efx_ef10_sriov_wanted(struct efx_nic *efx) 167fa8d547SShradha Shah { 177fa8d547SShradha Shah return false; 187fa8d547SShradha Shah } 197fa8d547SShradha Shah 20834e23ddSShradha Shah int efx_ef10_sriov_configure(struct efx_nic *efx, int num_vfs); 21834e23ddSShradha Shah 227fa8d547SShradha Shah static inline int efx_ef10_sriov_init(struct efx_nic *efx) 237fa8d547SShradha Shah { 247fa8d547SShradha Shah return -EOPNOTSUPP; 257fa8d547SShradha Shah } 267fa8d547SShradha Shah 277fa8d547SShradha Shah static inline void efx_ef10_sriov_mac_address_changed(struct efx_nic *efx) {} 287fa8d547SShradha Shah static inline void efx_ef10_sriov_reset(struct efx_nic *efx) {} 297fa8d547SShradha Shah static inline void efx_ef10_sriov_fini(struct efx_nic *efx) {} 307fa8d547SShradha Shah static inline void efx_ef10_sriov_flr(struct efx_nic *efx, unsigned vf_i) {} 317fa8d547SShradha Shah 327fa8d547SShradha Shah static inline int efx_ef10_sriov_set_vf_mac(struct efx_nic *efx, int vf, 337fa8d547SShradha Shah u8 *mac) 347fa8d547SShradha Shah { 357fa8d547SShradha Shah return -EOPNOTSUPP; 367fa8d547SShradha Shah } 377fa8d547SShradha Shah 387fa8d547SShradha Shah static inline int efx_ef10_sriov_set_vf_vlan(struct efx_nic *efx, int vf, 397fa8d547SShradha Shah u16 vlan, u8 qos) 407fa8d547SShradha Shah { 417fa8d547SShradha Shah return -EOPNOTSUPP; 427fa8d547SShradha Shah } 437fa8d547SShradha Shah 447fa8d547SShradha Shah static inline int efx_ef10_sriov_set_vf_spoofchk(struct efx_nic *efx, int vf, 457fa8d547SShradha Shah bool spoofchk) 467fa8d547SShradha Shah { 477fa8d547SShradha Shah return -EOPNOTSUPP; 487fa8d547SShradha Shah } 497fa8d547SShradha Shah 507fa8d547SShradha Shah static inline int efx_ef10_sriov_get_vf_config(struct efx_nic *efx, int vf, 517fa8d547SShradha Shah struct ifla_vf_info *ivf) 527fa8d547SShradha Shah { 537fa8d547SShradha Shah return -EOPNOTSUPP; 547fa8d547SShradha Shah } 557fa8d547SShradha Shah 567fa8d547SShradha Shah #endif /* EF10_SRIOV_H */ 57