hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/net/ethernet/intel/fm10k/fm10k.h
....@@ -1,5 +1,5 @@
11 /* SPDX-License-Identifier: GPL-2.0 */
2
-/* Copyright(c) 2013 - 2018 Intel Corporation. */
2
+/* Copyright(c) 2013 - 2019 Intel Corporation. */
33
44 #ifndef _FM10K_H_
55 #define _FM10K_H_
....@@ -41,7 +41,7 @@
4141 u16 count;
4242 u16 dglort;
4343 struct rcu_head rcu;
44
- struct net_device *macvlan[0];
44
+ struct net_device *macvlan[];
4545 };
4646
4747 enum fm10k_ring_state_t {
....@@ -177,14 +177,10 @@
177177 #define MIN_Q_VECTORS 1
178178 enum fm10k_non_q_vectors {
179179 FM10K_MBX_VECTOR,
180
-#define NON_Q_VECTORS_VF NON_Q_VECTORS_PF
181
- NON_Q_VECTORS_PF
180
+ NON_Q_VECTORS
182181 };
183182
184
-#define NON_Q_VECTORS(hw) (((hw)->mac.type == fm10k_mac_pf) ? \
185
- NON_Q_VECTORS_PF : \
186
- NON_Q_VECTORS_VF)
187
-#define MIN_MSIX_COUNT(hw) (MIN_Q_VECTORS + NON_Q_VECTORS(hw))
183
+#define MIN_MSIX_COUNT(hw) (MIN_Q_VECTORS + NON_Q_VECTORS)
188184
189185 struct fm10k_q_vector {
190186 struct fm10k_intfc *interface;
....@@ -202,7 +198,7 @@
202198 struct rcu_head rcu; /* to avoid race with update stats on free */
203199
204200 /* for dynamic allocation of rings associated with this q_vector */
205
- struct fm10k_ring ring[0] ____cacheline_internodealigned_in_smp;
201
+ struct fm10k_ring ring[] ____cacheline_internodealigned_in_smp;
206202 };
207203
208204 enum fm10k_ring_f_enum {
....@@ -222,13 +218,7 @@
222218 unsigned int num_vfs;
223219 unsigned int next_vf_mbx;
224220 struct rcu_head rcu;
225
- struct fm10k_vf_info vf_info[0];
226
-};
227
-
228
-struct fm10k_udp_port {
229
- struct list_head list;
230
- sa_family_t sa_family;
231
- __be16 port;
221
+ struct fm10k_vf_info vf_info[];
232222 };
233223
234224 enum fm10k_macvlan_request_type {
....@@ -374,8 +364,8 @@
374364 u32 rssrk[FM10K_RSSRK_SIZE];
375365
376366 /* UDP encapsulation port tracking information */
377
- struct list_head vxlan_port;
378
- struct list_head geneve_port;
367
+ __be16 vxlan_port;
368
+ __be16 geneve_port;
379369
380370 /* MAC/VLAN update queue */
381371 struct list_head macvlan_requests;
....@@ -480,7 +470,6 @@
480470
481471 /* main */
482472 extern char fm10k_driver_name[];
483
-extern const char fm10k_driver_version[];
484473 int fm10k_init_queueing_scheme(struct fm10k_intfc *interface);
485474 void fm10k_clear_queueing_scheme(struct fm10k_intfc *interface);
486475 __be16 fm10k_tx_encap_offload(struct sk_buff *skb);
....@@ -538,6 +527,7 @@
538527 int fm10k_iov_resume(struct pci_dev *pdev);
539528 void fm10k_iov_disable(struct pci_dev *pdev);
540529 int fm10k_iov_configure(struct pci_dev *pdev, int num_vfs);
530
+void fm10k_iov_update_stats(struct fm10k_intfc *interface);
541531 s32 fm10k_iov_update_pvid(struct fm10k_intfc *interface, u16 glort, u16 pvid);
542532 int fm10k_ndo_set_vf_mac(struct net_device *netdev, int vf_idx, u8 *mac);
543533 int fm10k_ndo_set_vf_vlan(struct net_device *netdev,
....@@ -546,6 +536,8 @@
546536 int __always_unused min_rate, int max_rate);
547537 int fm10k_ndo_get_vf_config(struct net_device *netdev,
548538 int vf_idx, struct ifla_vf_info *ivi);
539
+int fm10k_ndo_get_vf_stats(struct net_device *netdev,
540
+ int vf_idx, struct ifla_vf_stats *stats);
549541
550542 /* DebugFS */
551543 #ifdef CONFIG_DEBUG_FS