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