ixgbe.h (5e24f74b6c21aba204e861a282880d6ac6cc27c0) | ixgbe.h (e0d1095ae3405404d247afb00233ef837d58da83) |
---|---|
1/******************************************************************************* 2 3 Intel 10 Gigabit PCI Express Linux driver 4 Copyright(c) 1999 - 2013 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. --- 40 unchanged lines hidden (view full) --- 49#include "ixgbe_fcoe.h" 50#endif /* CONFIG_FCOE or CONFIG_FCOE_MODULE */ 51#ifdef CONFIG_IXGBE_DCA 52#include <linux/dca.h> 53#endif 54 55#include <net/busy_poll.h> 56 | 1/******************************************************************************* 2 3 Intel 10 Gigabit PCI Express Linux driver 4 Copyright(c) 1999 - 2013 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. --- 40 unchanged lines hidden (view full) --- 49#include "ixgbe_fcoe.h" 50#endif /* CONFIG_FCOE or CONFIG_FCOE_MODULE */ 51#ifdef CONFIG_IXGBE_DCA 52#include <linux/dca.h> 53#endif 54 55#include <net/busy_poll.h> 56 |
57#ifdef CONFIG_NET_LL_RX_POLL | 57#ifdef CONFIG_NET_RX_BUSY_POLL |
58#define LL_EXTENDED_STATS 59#endif 60/* common prefix used by pr_<> macros */ 61#undef pr_fmt 62#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 63 64/* TX/RX descriptor defines */ 65#define IXGBE_DEFAULT_TXD 512 --- 295 unchanged lines hidden (view full) --- 361 struct ixgbe_ring_container rx, tx; 362 363 struct napi_struct napi; 364 cpumask_t affinity_mask; 365 int numa_node; 366 struct rcu_head rcu; /* to avoid race with update stats on free */ 367 char name[IFNAMSIZ + 9]; 368 | 58#define LL_EXTENDED_STATS 59#endif 60/* common prefix used by pr_<> macros */ 61#undef pr_fmt 62#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 63 64/* TX/RX descriptor defines */ 65#define IXGBE_DEFAULT_TXD 512 --- 295 unchanged lines hidden (view full) --- 361 struct ixgbe_ring_container rx, tx; 362 363 struct napi_struct napi; 364 cpumask_t affinity_mask; 365 int numa_node; 366 struct rcu_head rcu; /* to avoid race with update stats on free */ 367 char name[IFNAMSIZ + 9]; 368 |
369#ifdef CONFIG_NET_LL_RX_POLL | 369#ifdef CONFIG_NET_RX_BUSY_POLL |
370 unsigned int state; 371#define IXGBE_QV_STATE_IDLE 0 372#define IXGBE_QV_STATE_NAPI 1 /* NAPI owns this QV */ 373#define IXGBE_QV_STATE_POLL 2 /* poll owns this QV */ 374#define IXGBE_QV_LOCKED (IXGBE_QV_STATE_NAPI | IXGBE_QV_STATE_POLL) 375#define IXGBE_QV_STATE_NAPI_YIELD 4 /* NAPI yielded this QV */ 376#define IXGBE_QV_STATE_POLL_YIELD 8 /* poll yielded this QV */ 377#define IXGBE_QV_YIELD (IXGBE_QV_STATE_NAPI_YIELD | IXGBE_QV_STATE_POLL_YIELD) 378#define IXGBE_QV_USER_PEND (IXGBE_QV_STATE_POLL | IXGBE_QV_STATE_POLL_YIELD) 379 spinlock_t lock; | 370 unsigned int state; 371#define IXGBE_QV_STATE_IDLE 0 372#define IXGBE_QV_STATE_NAPI 1 /* NAPI owns this QV */ 373#define IXGBE_QV_STATE_POLL 2 /* poll owns this QV */ 374#define IXGBE_QV_LOCKED (IXGBE_QV_STATE_NAPI | IXGBE_QV_STATE_POLL) 375#define IXGBE_QV_STATE_NAPI_YIELD 4 /* NAPI yielded this QV */ 376#define IXGBE_QV_STATE_POLL_YIELD 8 /* poll yielded this QV */ 377#define IXGBE_QV_YIELD (IXGBE_QV_STATE_NAPI_YIELD | IXGBE_QV_STATE_POLL_YIELD) 378#define IXGBE_QV_USER_PEND (IXGBE_QV_STATE_POLL | IXGBE_QV_STATE_POLL_YIELD) 379 spinlock_t lock; |
380#endif /* CONFIG_NET_LL_RX_POLL */ | 380#endif /* CONFIG_NET_RX_BUSY_POLL */ |
381 382 /* for dynamic allocation of rings associated with this q_vector */ 383 struct ixgbe_ring ring[0] ____cacheline_internodealigned_in_smp; 384}; | 381 382 /* for dynamic allocation of rings associated with this q_vector */ 383 struct ixgbe_ring ring[0] ____cacheline_internodealigned_in_smp; 384}; |
385#ifdef CONFIG_NET_LL_RX_POLL | 385#ifdef CONFIG_NET_RX_BUSY_POLL |
386static inline void ixgbe_qv_init_lock(struct ixgbe_q_vector *q_vector) 387{ 388 389 spin_lock_init(&q_vector->lock); 390 q_vector->state = IXGBE_QV_STATE_IDLE; 391} 392 393/* called from the device poll routine to get ownership of a q_vector */ --- 63 unchanged lines hidden (view full) --- 457} 458 459/* true if a socket is polling, even if it did not get the lock */ 460static inline bool ixgbe_qv_ll_polling(struct ixgbe_q_vector *q_vector) 461{ 462 WARN_ON(!(q_vector->state & IXGBE_QV_LOCKED)); 463 return q_vector->state & IXGBE_QV_USER_PEND; 464} | 386static inline void ixgbe_qv_init_lock(struct ixgbe_q_vector *q_vector) 387{ 388 389 spin_lock_init(&q_vector->lock); 390 q_vector->state = IXGBE_QV_STATE_IDLE; 391} 392 393/* called from the device poll routine to get ownership of a q_vector */ --- 63 unchanged lines hidden (view full) --- 457} 458 459/* true if a socket is polling, even if it did not get the lock */ 460static inline bool ixgbe_qv_ll_polling(struct ixgbe_q_vector *q_vector) 461{ 462 WARN_ON(!(q_vector->state & IXGBE_QV_LOCKED)); 463 return q_vector->state & IXGBE_QV_USER_PEND; 464} |
465#else /* CONFIG_NET_LL_RX_POLL */ | 465#else /* CONFIG_NET_RX_BUSY_POLL */ |
466static inline void ixgbe_qv_init_lock(struct ixgbe_q_vector *q_vector) 467{ 468} 469 470static inline bool ixgbe_qv_lock_napi(struct ixgbe_q_vector *q_vector) 471{ 472 return true; 473} --- 12 unchanged lines hidden (view full) --- 486{ 487 return false; 488} 489 490static inline bool ixgbe_qv_ll_polling(struct ixgbe_q_vector *q_vector) 491{ 492 return false; 493} | 466static inline void ixgbe_qv_init_lock(struct ixgbe_q_vector *q_vector) 467{ 468} 469 470static inline bool ixgbe_qv_lock_napi(struct ixgbe_q_vector *q_vector) 471{ 472 return true; 473} --- 12 unchanged lines hidden (view full) --- 486{ 487 return false; 488} 489 490static inline bool ixgbe_qv_ll_polling(struct ixgbe_q_vector *q_vector) 491{ 492 return false; 493} |
494#endif /* CONFIG_NET_LL_RX_POLL */ | 494#endif /* CONFIG_NET_RX_BUSY_POLL */ |
495 496#ifdef CONFIG_IXGBE_HWMON 497 498#define IXGBE_HWMON_TYPE_LOC 0 499#define IXGBE_HWMON_TYPE_TEMP 1 500#define IXGBE_HWMON_TYPE_CAUTION 2 501#define IXGBE_HWMON_TYPE_MAX 3 502 --- 110 unchanged lines hidden (view full) --- 613#define IXGBE_FLAG2_TEMP_SENSOR_CAPABLE (u32)(1 << 2) 614#define IXGBE_FLAG2_TEMP_SENSOR_EVENT (u32)(1 << 3) 615#define IXGBE_FLAG2_SEARCH_FOR_SFP (u32)(1 << 4) 616#define IXGBE_FLAG2_SFP_NEEDS_RESET (u32)(1 << 5) 617#define IXGBE_FLAG2_RESET_REQUESTED (u32)(1 << 6) 618#define IXGBE_FLAG2_FDIR_REQUIRES_REINIT (u32)(1 << 7) 619#define IXGBE_FLAG2_RSS_FIELD_IPV4_UDP (u32)(1 << 8) 620#define IXGBE_FLAG2_RSS_FIELD_IPV6_UDP (u32)(1 << 9) | 495 496#ifdef CONFIG_IXGBE_HWMON 497 498#define IXGBE_HWMON_TYPE_LOC 0 499#define IXGBE_HWMON_TYPE_TEMP 1 500#define IXGBE_HWMON_TYPE_CAUTION 2 501#define IXGBE_HWMON_TYPE_MAX 3 502 --- 110 unchanged lines hidden (view full) --- 613#define IXGBE_FLAG2_TEMP_SENSOR_CAPABLE (u32)(1 << 2) 614#define IXGBE_FLAG2_TEMP_SENSOR_EVENT (u32)(1 << 3) 615#define IXGBE_FLAG2_SEARCH_FOR_SFP (u32)(1 << 4) 616#define IXGBE_FLAG2_SFP_NEEDS_RESET (u32)(1 << 5) 617#define IXGBE_FLAG2_RESET_REQUESTED (u32)(1 << 6) 618#define IXGBE_FLAG2_FDIR_REQUIRES_REINIT (u32)(1 << 7) 619#define IXGBE_FLAG2_RSS_FIELD_IPV4_UDP (u32)(1 << 8) 620#define IXGBE_FLAG2_RSS_FIELD_IPV6_UDP (u32)(1 << 9) |
621#define IXGBE_FLAG2_PTP_PPS_ENABLED (u32)(1 << 10) 622#define IXGBE_FLAG2_BRIDGE_MODE_VEB (u32)(1 << 11) | 621#define IXGBE_FLAG2_PTP_ENABLED (u32)(1 << 10) 622#define IXGBE_FLAG2_PTP_PPS_ENABLED (u32)(1 << 11) 623#define IXGBE_FLAG2_BRIDGE_MODE_VEB (u32)(1 << 12) |
623 624 /* Tx fast path data */ 625 int num_tx_queues; 626 u16 tx_itr_setting; 627 u16 tx_work_limit; 628 629 /* Rx fast path data */ 630 int num_rx_queues; --- 117 unchanged lines hidden (view full) --- 748}; 749 750enum ixgbe_state_t { 751 __IXGBE_TESTING, 752 __IXGBE_RESETTING, 753 __IXGBE_DOWN, 754 __IXGBE_SERVICE_SCHED, 755 __IXGBE_IN_SFP_INIT, | 624 625 /* Tx fast path data */ 626 int num_tx_queues; 627 u16 tx_itr_setting; 628 u16 tx_work_limit; 629 630 /* Rx fast path data */ 631 int num_rx_queues; --- 117 unchanged lines hidden (view full) --- 749}; 750 751enum ixgbe_state_t { 752 __IXGBE_TESTING, 753 __IXGBE_RESETTING, 754 __IXGBE_DOWN, 755 __IXGBE_SERVICE_SCHED, 756 __IXGBE_IN_SFP_INIT, |
756 __IXGBE_PTP_RUNNING, | 757 __IXGBE_READ_I2C, |
757}; 758 759struct ixgbe_cb { 760 union { /* Union defining head/tail partner */ 761 struct sk_buff *head; 762 struct sk_buff *tail; 763 }; 764 dma_addr_t dma; --- 154 unchanged lines hidden --- | 758}; 759 760struct ixgbe_cb { 761 union { /* Union defining head/tail partner */ 762 struct sk_buff *head; 763 struct sk_buff *tail; 764 }; 765 dma_addr_t dma; --- 154 unchanged lines hidden --- |