i40e.h (4eb6f11d751f0ea5035a8136009189725aca66f9) i40e.h (beb0dff1251db5214889ea8a122049ec3ae25e41)
1/*******************************************************************************
2 *
3 * Intel Ethernet Controller XL710 Family Linux Driver
4 * Copyright(c) 2013 - 2014 Intel Corporation.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.

--- 36 unchanged lines hidden (view full) ---

45#include <linux/tcp.h>
46#include <linux/sctp.h>
47#include <linux/pkt_sched.h>
48#include <linux/ipv6.h>
49#include <net/checksum.h>
50#include <net/ip6_checksum.h>
51#include <linux/ethtool.h>
52#include <linux/if_vlan.h>
1/*******************************************************************************
2 *
3 * Intel Ethernet Controller XL710 Family Linux Driver
4 * Copyright(c) 2013 - 2014 Intel Corporation.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.

--- 36 unchanged lines hidden (view full) ---

45#include <linux/tcp.h>
46#include <linux/sctp.h>
47#include <linux/pkt_sched.h>
48#include <linux/ipv6.h>
49#include <net/checksum.h>
50#include <net/ip6_checksum.h>
51#include <linux/ethtool.h>
52#include <linux/if_vlan.h>
53#include <linux/clocksource.h>
54#include <linux/net_tstamp.h>
55#include <linux/ptp_clock_kernel.h>
53#include "i40e_type.h"
54#include "i40e_prototype.h"
55#include "i40e_virtchnl.h"
56#include "i40e_virtchnl_pf.h"
57#include "i40e_txrx.h"
58
59/* Useful i40e defaults */
60#define I40E_BASE_PF_SEID 16

--- 176 unchanged lines hidden (view full) ---

237#define I40E_FLAG_CLEAN_ADMINQ (u64)(1 << 14)
238#define I40E_FLAG_FILTER_SYNC (u64)(1 << 15)
239#define I40E_FLAG_PROCESS_MDD_EVENT (u64)(1 << 17)
240#define I40E_FLAG_PROCESS_VFLR_EVENT (u64)(1 << 18)
241#define I40E_FLAG_SRIOV_ENABLED (u64)(1 << 19)
242#define I40E_FLAG_DCB_ENABLED (u64)(1 << 20)
243#define I40E_FLAG_FDIR_ENABLED (u64)(1 << 21)
244#define I40E_FLAG_FDIR_ATR_ENABLED (u64)(1 << 22)
56#include "i40e_type.h"
57#include "i40e_prototype.h"
58#include "i40e_virtchnl.h"
59#include "i40e_virtchnl_pf.h"
60#include "i40e_txrx.h"
61
62/* Useful i40e defaults */
63#define I40E_BASE_PF_SEID 16

--- 176 unchanged lines hidden (view full) ---

240#define I40E_FLAG_CLEAN_ADMINQ (u64)(1 << 14)
241#define I40E_FLAG_FILTER_SYNC (u64)(1 << 15)
242#define I40E_FLAG_PROCESS_MDD_EVENT (u64)(1 << 17)
243#define I40E_FLAG_PROCESS_VFLR_EVENT (u64)(1 << 18)
244#define I40E_FLAG_SRIOV_ENABLED (u64)(1 << 19)
245#define I40E_FLAG_DCB_ENABLED (u64)(1 << 20)
246#define I40E_FLAG_FDIR_ENABLED (u64)(1 << 21)
247#define I40E_FLAG_FDIR_ATR_ENABLED (u64)(1 << 22)
248#define I40E_FLAG_PTP (u64)(1 << 25)
245#define I40E_FLAG_MFP_ENABLED (u64)(1 << 26)
246#ifdef CONFIG_I40E_VXLAN
247#define I40E_FLAG_VXLAN_FILTER_SYNC (u64)(1 << 27)
248#endif
249
250 bool stat_offsets_loaded;
251 struct i40e_hw_port_stats stats;
252 struct i40e_hw_port_stats stats_offsets;

--- 44 unchanged lines hidden (view full) ---

297 * by the device. For now we're supporting IEEE
298 * mode only.
299 */
300 u16 dcbx_cap;
301
302 u32 fcoe_hmc_filt_num;
303 u32 fcoe_hmc_cntx_num;
304 struct i40e_filter_control_settings filter_settings;
249#define I40E_FLAG_MFP_ENABLED (u64)(1 << 26)
250#ifdef CONFIG_I40E_VXLAN
251#define I40E_FLAG_VXLAN_FILTER_SYNC (u64)(1 << 27)
252#endif
253
254 bool stat_offsets_loaded;
255 struct i40e_hw_port_stats stats;
256 struct i40e_hw_port_stats stats_offsets;

--- 44 unchanged lines hidden (view full) ---

301 * by the device. For now we're supporting IEEE
302 * mode only.
303 */
304 u16 dcbx_cap;
305
306 u32 fcoe_hmc_filt_num;
307 u32 fcoe_hmc_cntx_num;
308 struct i40e_filter_control_settings filter_settings;
309
310 struct ptp_clock *ptp_clock;
311 struct ptp_clock_info ptp_caps;
312 struct sk_buff *ptp_tx_skb;
313 struct work_struct ptp_tx_work;
314 struct hwtstamp_config tstamp_config;
315 unsigned long ptp_tx_start;
316 unsigned long last_rx_ptp_check;
317 spinlock_t tmreg_lock; /* Used to protect the device time registers. */
318 u64 ptp_base_adj;
319 u32 tx_hwtstamp_timeouts;
320 u32 rx_hwtstamp_cleared;
321 bool ptp_tx;
322 bool ptp_rx;
305};
306
307struct i40e_mac_filter {
308 struct list_head list;
309 u8 macaddr[ETH_ALEN];
310#define I40E_VLAN_ANY -1
311 s16 vlan;
312 u8 counter; /* number of instances of this filter */

--- 248 unchanged lines hidden (view full) ---

561int i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid);
562struct i40e_mac_filter *i40e_put_mac_in_vlan(struct i40e_vsi *vsi, u8 *macaddr,
563 bool is_vf, bool is_netdev);
564bool i40e_is_vsi_in_vlan(struct i40e_vsi *vsi);
565struct i40e_mac_filter *i40e_find_mac(struct i40e_vsi *vsi, u8 *macaddr,
566 bool is_vf, bool is_netdev);
567void i40e_vlan_stripping_enable(struct i40e_vsi *vsi);
568
323};
324
325struct i40e_mac_filter {
326 struct list_head list;
327 u8 macaddr[ETH_ALEN];
328#define I40E_VLAN_ANY -1
329 s16 vlan;
330 u8 counter; /* number of instances of this filter */

--- 248 unchanged lines hidden (view full) ---

579int i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid);
580struct i40e_mac_filter *i40e_put_mac_in_vlan(struct i40e_vsi *vsi, u8 *macaddr,
581 bool is_vf, bool is_netdev);
582bool i40e_is_vsi_in_vlan(struct i40e_vsi *vsi);
583struct i40e_mac_filter *i40e_find_mac(struct i40e_vsi *vsi, u8 *macaddr,
584 bool is_vf, bool is_netdev);
585void i40e_vlan_stripping_enable(struct i40e_vsi *vsi);
586
587void i40e_ptp_rx_hang(struct i40e_vsi *vsi);
588void i40e_ptp_tx_hwtstamp(struct i40e_pf *pf);
589void i40e_ptp_rx_hwtstamp(struct i40e_pf *pf, struct sk_buff *skb, u8 index);
590void i40e_ptp_set_increment(struct i40e_pf *pf);
591int i40e_ptp_set_ts_config(struct i40e_pf *pf, struct ifreq *ifr);
592int i40e_ptp_get_ts_config(struct i40e_pf *pf, struct ifreq *ifr);
593void i40e_ptp_init(struct i40e_pf *pf);
594void i40e_ptp_stop(struct i40e_pf *pf);
569#endif /* _I40E_H_ */
595#endif /* _I40E_H_ */