Fix several GCC6 warnings
Subsystems (2)
cover Fix several GCC6 warnings
This patch series fixes several warnings on Intel(R) drivers, including for igb, igbvf, e1000e, ixgbe, ixgbevf, i40e, i40evf and fm10k.
The primary change is to use BIT() macro where appropriate, and use the unsigned postfix for various other bitshifts. While much of this change doesn't prevent any current warnings, it helps ensure that future additions make use of BIT() macro or the unsigned postfix and prevent signed bitshift errors in the future. A few places (especially in ixgbe) don't use BIT even though it's technically equivalent for style and understanding the real intent of the code.
The series also fixes some other warnings, and makes use of GENMASK in a few locations.
Changes since v1
- Fixed the last patch in the series to properly resolve the warning without generating a compilation error.
- Resolved Alex's comments about overzealous use of BIT(). I hope that I have resolved all his complaints, I fixed up the ethtool version changes, and other places that I felt were not bit masks. I don't think I missed any but there are a lot so I could use a few more eyes on it.
For review, here is the interdiff of the previous series:
interdiff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h index 50253fb9208f..010e6d61c855 100644
drivers/net/ethernet/intel/e1000e/e1000.h +5 -5
@@ -109,14 +109,14 @@ struct e1000_info;#define E1000_TXDCTL_DMA_BURST_ENABLE \ (E1000_TXDCTL_GRAN |/* set descriptor granularity */ \E1000_TXDCTL_COUNT_DESC | \ -BIT (16 ) |/* wthresh must be +1 more than desired */ \ -BIT (8 ) |/* hthresh */ \ - 0x1f) /* pthresh */ + (1u <<16 ) |/* wthresh must be +1 more than desired */ \ + (1u <<8 ) |/* hthresh */ \ + 0x1f) /* pthresh */ #define E1000_RXDCTL_DMA_BURST_ENABLE \ (0x01000000 |/* set descriptor granularity */ \ - (4 <<16 ) |/* set writeback threshold */ \ - (4 <<8 ) |/* set prefetch threshold */ \ + (4u <<16 ) |/* set writeback threshold */ \ + (4u <<8 ) |/* set prefetch threshold */ \ 0x20) /* set hthresh */#define E1000_TIDV_FPD BIT(31)
interdirr --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c index 7d7eb6fcc44e..2fe5bf3653e5 100644
drivers/net/ethernet/intel/e1000e/ethtool.c +3 -2
@@ -446,8 +446,9 @@ static void e1000_get_regs(struct net_device *netdev,memset (p,0 ,E1000_REGS_LEN *sizeof (u32)); - regs->version =BIT (24 ) | (adapter->pdev->revision <<16 ) | - adapter->pdev->device; + regs->version = (1u <<24 ) | + (adapter->pdev->revision <<16 ) | + adapter->pdev->device; regs_buff[0 ] =er32 (CTRL ); regs_buff[1 ] =er32 (STATUS );
interdirr --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h index eba90c2002a2..7a7bc31493a5 100644
drivers/net/ethernet/intel/igb/igb.h +1 -1
@@ -169,7 +169,7 @@ enum igb_tx_flags {* maintain a power of two alignment we have to limit ourselves to 32K. */ #define IGB_MAX_TXD_PWR 15 -#define IGB_MAX_DATA_PER_TXD BIT(IGB_MAX_TXD_PWR) +#define IGB_MAX_DATA_PER_TXD (1u << IGB_MAX_TXD_PWR)/* Tx Descriptors needed, worst case */ #define TXD_USE_COUNT (S ) DIV_ROUND_UP((S), IGB_MAX_DATA_PER_TXD)
interdirr --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c index 4cc03c257eff..64e91c575a39 100644
drivers/net/ethernet/intel/igb/igb_ethtool.c +1 -1
@@ -466,7 +466,7 @@ static void igb_get_regs(struct net_device *netdev,memset (p,0 ,IGB_REGS_LEN *sizeof (u32)); - regs->version =BIT (24 ) | (hw->revision_id <<16 ) | hw->device_id; + regs->version = (1u <<24 ) | (hw->revision_id <<16 ) | hw->device_id;/* General Registers */ regs_buff[0 ] =rd32 (E1000_CTRL );
interdirr --git a/drivers/net/ethernet/intel/igbvf/ethtool.c b/drivers/net/ethernet/intel/igbvf/ethtool.c index 77bdb5386e78..8dea1b1367ef 100644
drivers/net/ethernet/intel/igbvf/ethtool.c +2 -1
@@ -154,7 +154,8 @@ static void igbvf_get_regs(struct net_device *netdev,memset (p,0 ,IGBVF_REGS_LEN *sizeof (u32)); - regs->version =BIT (24 ) | (adapter->pdev->revision <<16 ) | + regs->version = (1u <<24 ) | + (adapter->pdev->revision <<16 ) | adapter->pdev->device; regs_buff[0 ] =er32 (CTRL );
interdirr --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c index c60717c8dc37..57894a80c469 100644
drivers/net/ethernet/intel/igbvf/netdev.c +2 -2
@@ -1014,7 +1014,7 @@ static void igbvf_configure_msix(struct igbvf_adapter *adapter)ew32 (IVAR_MISC , tmp); - adapter->eims_enable_mask =BIT (vector) -1 ; + adapter->eims_enable_mask =GENMASK (vector -1 ,0 ); adapter->eims_other =BIT (vector -1 );e1e_flush (); }
@@ -2089,7 +2089,7 @@ static int igbvf_maybe_stop_tx(struct net_device *netdev, int size) }#define IGBVF_MAX_TXD_PWR 16 -#define IGBVF_MAX_DATA_PER_TXD BIT(IGBVF_MAX_TXD_PWR) +#define IGBVF_MAX_DATA_PER_TXD (1u << IGBVF_MAX_TXD_PWR) static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter, struct igbvf_ring *tx_ring,
interdirr --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h index 51b47880abc4..472b4515bb76 100644
drivers/net/ethernet/intel/ixgbe/ixgbe.h +1 -1
@@ -170,7 +170,7 @@ struct vf_macvlans { };#define IXGBE_MAX_TXD_PWR 14 -#define IXGBE_MAX_DATA_PER_TXD BIT(IXGBE_MAX_TXD_PWR) +#define IXGBE_MAX_DATA_PER_TXD (1u << IXGBE_MAX_TXD_PWR)/* Tx Descriptors needed, worst case */ #define TXD_USE_COUNT (S ) DIV_ROUND_UP((S), IXGBE_MAX_DATA_PER_TXD)
interdirr --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c index 3c12377447b2..47afed74a54d 100644
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c +4 -4
@@ -1302,11 +1302,11 @@ do { \ bucket_hash ^= lo_hash_dword >> n; \ else if (IXGBE_ATR_SIGNATURE_HASH_KEY & BIT(n)) \ sig_hash ^= lo_hash_dword << (16 - n); \ -if (IXGBE_ATR_COMMON_HASH_KEY &BIT ((n +16 ))) \ +if (IXGBE_ATR_COMMON_HASH_KEY &BIT (n +16 )) \ common_hash ^= hi_hash_dword >> n; \ -else if (IXGBE_ATR_BUCKET_HASH_KEY &BIT ((n +16 ))) \ +else if (IXGBE_ATR_BUCKET_HASH_KEY &BIT (n +16 )) \ bucket_hash ^= hi_hash_dword >> n; \ -else if (IXGBE_ATR_SIGNATURE_HASH_KEY &BIT ((n +16 ))) \ +else if (IXGBE_ATR_SIGNATURE_HASH_KEY &BIT (n +16 )) \ sig_hash ^= hi_hash_dword << (16 - n); \ }while (0 )
@@ -1442,7 +1442,7 @@ do { \u32 n = (_n); \if (IXGBE_ATR_BUCKET_HASH_KEY &BIT (n)) \ bucket_hash ^= lo_hash_dword >> n; \ -if (IXGBE_ATR_BUCKET_HASH_KEY &BIT ((n +16 ))) \ +if (IXGBE_ATR_BUCKET_HASH_KEY &BIT (n +16 )) \ bucket_hash ^= hi_hash_dword >> n; \ }while (0 )
interdirr --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c index 999072dd3763..902d2061ce73 100644
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +1 -1
@@ -2924,7 +2924,7 @@ s32 ixgbe_clear_vmdq_generic(struct ixgbe_hw *hw, u32 rar, u32 vmdq) mpsar_lo &= ~BIT (vmdq);IXGBE_WRITE_REG (hw,IXGBE_MPSAR_LO (rar), mpsar_lo); }else { - mpsar_hi &= ~BIT ((vmdq -32 )); + mpsar_hi &= ~BIT (vmdq -32 );IXGBE_WRITE_REG (hw,IXGBE_MPSAR_HI (rar), mpsar_hi); }
interdirr --git a/drivers/net/ethernet/intel/ixgbevf/ethtool.c b/drivers/net/ethernet/intel/ixgbevf/ethtool.c index 28954577fb59..4cadf80e5b87 100644
drivers/net/ethernet/intel/ixgbevf/ethtool.c +2 -1
@@ -166,7 +166,8 @@ static void ixgbevf_get_regs(struct net_device *netdev,memset (p,0 , regs_len); - regs->version =BIT (24 ) | hw->revision_id <<16 | hw->device_id; +/* generate a number suitable for ethtool's register version */ + regs->version = (1u <<24 ) | (hw->revision_id <<16 ) | hw->device_id/* General Registers */ regs_buff[0] = IXGBE_READ_REG(hw, IXGBE_VFCTRL);
interdirr --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index ef127f46de23..e4e6060e6197 100644
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +2 -2
@@ -3325,7 +3325,7 @@ static int ixgbevf_tso(struct ixgbevf_ring *tx_ring,/* mss_l4len_id: use 1 as index for TSO */ mss_l4len_idx = l4len <<IXGBE_ADVTXD_L4LEN_SHIFT ; mss_l4len_idx |=skb_shinfo (skb)->gso_size <<IXGBE_ADVTXD_MSS_SHIFT ; - mss_l4len_idx |=BIT (IXGBE_ADVTXD_IDX_SHIFT ); + mss_l4len_idx |= (1u <<IXGBE_ADVTXD_IDX_SHIFT );/* vlan_macip_lens: HEADLEN, MACLEN, VLAN tag */ vlan_macip_lens =skb_network_header_len (skb);
@@ -3422,7 +3422,7 @@ static void ixgbevf_tx_olinfo_status(union ixgbe_adv_tx_desc *tx_desc,/* use index 1 context for TSO/FSO/FCOE */ if (tx_flags &IXGBE_TX_FLAGS_TSO ) - olinfo_status |=cpu_to_le32 (BIT (IXGBE_ADVTXD_IDX_SHIFT )); + olinfo_status |=cpu_to_le32 (1u <<IXGBE_ADVTXD_IDX_SHIFT );/* Check Context must be set if Tx switch is enabled, which it * always is for case where virtual functions are running
Jacob Keller (13):
ixgbe: use BIT() macro
ixgbe: resolve shift of negative value warning
ixgbevf: make use of BIT() macro to avoid shift of signed values i40e/i40evf: fix I40E_MASK signed shift overflow warnings
i40e: make use of BIT() macro to prevent left shift of signed values
i40evf: make use of BIT() macro to avoid signed left shift
igb: use BIT() macro or unsigned prefix
igb: make igb_update_pf_vlvf static
igbvf: remove unused variable and dead code
igbvf: use BIT() macro instead of shifts
e1000e: use BIT() macro for bit defines
e1000e: mark shifted values as unsigned
e1000e: remove unused variable
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 12 +- drivers/net/ethernet/intel/e1000e/82571.c | 30 ++-- drivers/net/ethernet/intel/e1000e/e1000.h | 100 ++++++------- drivers/net/ethernet/intel/e1000e/ethtool.c | 40 ++--- drivers/net/ethernet/intel/e1000e/ich8lan.c | 44 +++--- drivers/net/ethernet/intel/e1000e/ich8lan.h | 8 +- drivers/net/ethernet/intel/e1000e/mac.c | 2 +- drivers/net/ethernet/intel/e1000e/netdev.c | 29 ++-- drivers/net/ethernet/intel/e1000e/nvm.c | 2 +- drivers/net/ethernet/intel/e1000e/phy.c | 4 +- drivers/net/ethernet/intel/e1000e/phy.h | 10 +- drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 53 ++++--- drivers/net/ethernet/intel/i40e/i40e_type.h | 2 +- .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 44 +++--- drivers/net/ethernet/intel/i40evf/i40e_type.h | 2 +- drivers/net/ethernet/intel/igb/e1000_82575.c | 8 +- drivers/net/ethernet/intel/igb/e1000_82575.h | 30 ++-- drivers/net/ethernet/intel/igb/e1000_defines.h | 108 +++++++------- drivers/net/ethernet/intel/igb/e1000_mac.c | 10 +- drivers/net/ethernet/intel/igb/e1000_mbx.c | 4 +- drivers/net/ethernet/intel/igb/e1000_nvm.c | 2 +- drivers/net/ethernet/intel/igb/e1000_phy.h | 6 +- drivers/net/ethernet/intel/igb/igb.h | 32 ++-- drivers/net/ethernet/intel/igb/igb_ethtool.c | 18 +-- drivers/net/ethernet/intel/igb/igb_main.c | 50 +++---- drivers/net/ethernet/intel/igb/igb_ptp.c | 6 +- drivers/net/ethernet/intel/igbvf/defines.h | 2 +- drivers/net/ethernet/intel/igbvf/ethtool.c | 2 +- drivers/net/ethernet/intel/igbvf/igbvf.h | 4 +- drivers/net/ethernet/intel/igbvf/netdev.c | 14 +- drivers/net/ethernet/intel/igbvf/vf.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 68 ++++----- drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 16 +- drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 30 ++-- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 14 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 36 ++--- drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 22 +-- drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 164 ++++++++++----------- drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 8 +- drivers/net/ethernet/intel/ixgbevf/defines.h | 22 +-- drivers/net/ethernet/intel/ixgbevf/ethtool.c | 2 +- drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 8 +- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +-- 52 files changed, 558 insertions(+), 564 deletions(-)
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 1/13 ixgbe: use BIT() macro
Several areas of ixgbe were written before widespread usage of the BIT(n) macro. With the impending release of GCC 6 and its associated new warnings, some usages such as (1 << 31) have been noted within the ixgbe driver source. Fix these wholesale and prevent future issues by simply using BIT macro instead of hand coded bit shifts.
Also fix a few shifts that are shifting values into place by using the 'u' prefix to indicate unsigned. It doesn't strictly matter in these cases because we're not shifting by too large a value, but these are all unsigned values and should be indicated as such.
--- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 68 ++++----- drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 16 +- drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 30 ++-- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 14 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 32 ++-- drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 22 +-- drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 164 ++++++++++----------- drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 8 +- 17 files changed, 194 insertions(+), 194 deletions(-)
drivers/net/ethernet/intel/ixgbe/ixgbe.h +34 -34
@@ -170,7 +170,7 @@ struct vf_macvlans { };#define IXGBE_MAX_TXD_PWR 14 -#define IXGBE_MAX_DATA_PER_TXD (1 << IXGBE_MAX_TXD_PWR) +#define IXGBE_MAX_DATA_PER_TXD (1u << IXGBE_MAX_TXD_PWR)/* Tx Descriptors needed, worst case */ #define TXD_USE_COUNT (S ) DIV_ROUND_UP((S), IXGBE_MAX_DATA_PER_TXD)
@@ -620,44 +620,44 @@ struct ixgbe_adapter {* thus the additional *_CAPABLE flags. */ u32 flags; -#define IXGBE_FLAG_MSI_ENABLED (u32)(1 << 1) -#define IXGBE_FLAG_MSIX_ENABLED (u32)(1 << 3) -#define IXGBE_FLAG_RX_1BUF_CAPABLE (u32)(1 << 4) -#define IXGBE_FLAG_RX_PS_CAPABLE (u32)(1 << 5) -#define IXGBE_FLAG_RX_PS_ENABLED (u32)(1 << 6) -#define IXGBE_FLAG_DCA_ENABLED (u32)(1 << 8) -#define IXGBE_FLAG_DCA_CAPABLE (u32)(1 << 9) -#define IXGBE_FLAG_IMIR_ENABLED (u32)(1 << 10) -#define IXGBE_FLAG_MQ_CAPABLE (u32)(1 << 11) -#define IXGBE_FLAG_DCB_ENABLED (u32)(1 << 12) -#define IXGBE_FLAG_VMDQ_CAPABLE (u32)(1 << 13) -#define IXGBE_FLAG_VMDQ_ENABLED (u32)(1 << 14) -#define IXGBE_FLAG_FAN_FAIL_CAPABLE (u32)(1 << 15) -#define IXGBE_FLAG_NEED_LINK_UPDATE (u32)(1 << 16) -#define IXGBE_FLAG_NEED_LINK_CONFIG (u32)(1 << 17) -#define IXGBE_FLAG_FDIR_HASH_CAPABLE (u32)(1 << 18) -#define IXGBE_FLAG_FDIR_PERFECT_CAPABLE (u32)(1 << 19) -#define IXGBE_FLAG_FCOE_CAPABLE (u32)(1 << 20) -#define IXGBE_FLAG_FCOE_ENABLED (u32)(1 << 21) -#define IXGBE_FLAG_SRIOV_CAPABLE (u32)(1 << 22) -#define IXGBE_FLAG_SRIOV_ENABLED (u32)(1 << 23) +#define IXGBE_FLAG_MSI_ENABLED BIT(1) +#define IXGBE_FLAG_MSIX_ENABLED BIT(3) +#define IXGBE_FLAG_RX_1BUF_CAPABLE BIT(4) +#define IXGBE_FLAG_RX_PS_CAPABLE BIT(5) +#define IXGBE_FLAG_RX_PS_ENABLED BIT(6) +#define IXGBE_FLAG_DCA_ENABLED BIT(8) +#define IXGBE_FLAG_DCA_CAPABLE BIT(9) +#define IXGBE_FLAG_IMIR_ENABLED BIT(10) +#define IXGBE_FLAG_MQ_CAPABLE BIT(11) +#define IXGBE_FLAG_DCB_ENABLED BIT(12) +#define IXGBE_FLAG_VMDQ_CAPABLE BIT(13) +#define IXGBE_FLAG_VMDQ_ENABLED BIT(14) +#define IXGBE_FLAG_FAN_FAIL_CAPABLE BIT(15) +#define IXGBE_FLAG_NEED_LINK_UPDATE BIT(16) +#define IXGBE_FLAG_NEED_LINK_CONFIG BIT(17) +#define IXGBE_FLAG_FDIR_HASH_CAPABLE BIT(18) +#define IXGBE_FLAG_FDIR_PERFECT_CAPABLE BIT(19) +#define IXGBE_FLAG_FCOE_CAPABLE BIT(20) +#define IXGBE_FLAG_FCOE_ENABLED BIT(21) +#define IXGBE_FLAG_SRIOV_CAPABLE BIT(22) +#define IXGBE_FLAG_SRIOV_ENABLED BIT(23)#define IXGBE_FLAG_VXLAN_OFFLOAD_CAPABLE BIT(24)#define IXGBE_FLAG_RX_HWTSTAMP_ENABLED BIT(25)#define IXGBE_FLAG_RX_HWTSTAMP_IN_REGISTER BIT(26)u32 flags2; -#define IXGBE_FLAG2_RSC_CAPABLE (u32)(1 << 0) -#define IXGBE_FLAG2_RSC_ENABLED (u32)(1 << 1) -#define IXGBE_FLAG2_TEMP_SENSOR_CAPABLE (u32)(1 << 2) -#define IXGBE_FLAG2_TEMP_SENSOR_EVENT (u32)(1 << 3) -#define IXGBE_FLAG2_SEARCH_FOR_SFP (u32)(1 << 4) -#define IXGBE_FLAG2_SFP_NEEDS_RESET (u32)(1 << 5) -#define IXGBE_FLAG2_RESET_REQUESTED (u32)(1 << 6) -#define IXGBE_FLAG2_FDIR_REQUIRES_REINIT (u32)(1 << 7) -#define IXGBE_FLAG2_RSS_FIELD_IPV4_UDP (u32)(1 << 8) -#define IXGBE_FLAG2_RSS_FIELD_IPV6_UDP (u32)(1 << 9) -#define IXGBE_FLAG2_PTP_PPS_ENABLED (u32)(1 << 10) -#define IXGBE_FLAG2_PHY_INTERRUPT (u32)(1 << 11) +#define IXGBE_FLAG2_RSC_CAPABLE BIT(0) +#define IXGBE_FLAG2_RSC_ENABLED BIT(1) +#define IXGBE_FLAG2_TEMP_SENSOR_CAPABLE BIT(2) +#define IXGBE_FLAG2_TEMP_SENSOR_EVENT BIT(3) +#define IXGBE_FLAG2_SEARCH_FOR_SFP BIT(4) +#define IXGBE_FLAG2_SFP_NEEDS_RESET BIT(5) +#define IXGBE_FLAG2_RESET_REQUESTED BIT(6) +#define IXGBE_FLAG2_FDIR_REQUIRES_REINIT BIT(7) +#define IXGBE_FLAG2_RSS_FIELD_IPV4_UDP BIT(8) +#define IXGBE_FLAG2_RSS_FIELD_IPV6_UDP BIT(9) +#define IXGBE_FLAG2_PTP_PPS_ENABLED BIT(10) +#define IXGBE_FLAG2_PHY_INTERRUPT BIT(11)#define IXGBE_FLAG2_VXLAN_REREG_NEEDED BIT(12)#define IXGBE_FLAG2_VLAN_PROMISC BIT(13)
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c +3 -3
@@ -792,7 +792,7 @@ mac_reset_top: } gheccr =IXGBE_READ_REG (hw,IXGBE_GHECCR ); - gheccr &= ~((1 <<21 ) | (1 <<18 ) | (1 <<9 ) | (1 <<6 )); + gheccr &= ~(BIT (21 ) |BIT (18 ) |BIT (9 ) |BIT (6 ));IXGBE_WRITE_REG (hw,IXGBE_GHECCR , gheccr);/*
@@ -914,10 +914,10 @@ static s32 ixgbe_set_vfta_82598(struct ixgbe_hw *hw, u32 vlan, u32 vind, bits =IXGBE_READ_REG (hw,IXGBE_VFTA (regindex));if (vlan_on)/* Turn on this VLAN id */ - bits |= (1 << bitindex); + bits |=BIT (bitindex);else /* Turn off this VLAN id */ - bits &= ~(1 << bitindex); + bits &= ~BIT (bitindex);IXGBE_WRITE_REG (hw,IXGBE_VFTA (regindex), bits);return 0 ;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c +8 -8
@@ -1296,17 +1296,17 @@ s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 fdirctrl)#define IXGBE_COMPUTE_SIG_HASH_ITERATION (_n) \ do { \ u32 n = (_n); \ - if (IXGBE_ATR_COMMON_HASH_KEY & (0x01 << n)) \ + if (IXGBE_ATR_COMMON_HASH_KEY & BIT(n)) \ common_hash ^= lo_hash_dword >> n; \ - else if (IXGBE_ATR_BUCKET_HASH_KEY & (0x01 << n)) \ + else if (IXGBE_ATR_BUCKET_HASH_KEY & BIT(n)) \ bucket_hash ^= lo_hash_dword >> n; \ - else if (IXGBE_ATR_SIGNATURE_HASH_KEY & (0x01 << n)) \ + else if (IXGBE_ATR_SIGNATURE_HASH_KEY & BIT(n)) \ sig_hash ^= lo_hash_dword << (16 - n); \ - if (IXGBE_ATR_COMMON_HASH_KEY & (0x01 << (n + 16))) \ + if (IXGBE_ATR_COMMON_HASH_KEY & BIT(n + 16)) \ common_hash ^= hi_hash_dword >> n; \ - else if (IXGBE_ATR_BUCKET_HASH_KEY & (0x01 << (n + 16))) \ + else if (IXGBE_ATR_BUCKET_HASH_KEY & BIT(n + 16)) \ bucket_hash ^= hi_hash_dword >> n; \ - else if (IXGBE_ATR_SIGNATURE_HASH_KEY & (0x01 << (n + 16))) \ + else if (IXGBE_ATR_SIGNATURE_HASH_KEY & BIT(n + 16)) \ sig_hash ^= hi_hash_dword << (16 - n); \ } while (0)
@@ -1440,9 +1440,9 @@ s32 ixgbe_fdir_add_signature_filter_82599(struct ixgbe_hw *hw,#define IXGBE_COMPUTE_BKT_HASH_ITERATION (_n) \ do { \ u32 n = (_n); \ - if (IXGBE_ATR_BUCKET_HASH_KEY & (0x01 << n)) \ + if (IXGBE_ATR_BUCKET_HASH_KEY & BIT(n)) \ bucket_hash ^= lo_hash_dword >> n; \ - if (IXGBE_ATR_BUCKET_HASH_KEY & (0x01 << (n + 16))) \ + if (IXGBE_ATR_BUCKET_HASH_KEY & BIT(n + 16)) \ bucket_hash ^= hi_hash_dword >> n; \ } while (0)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +15 -15
@@ -825,8 +825,8 @@ s32 ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw)*/ eeprom_size = (u16)((eec &IXGBE_EEC_SIZE ) >>IXGBE_EEC_SIZE_SHIFT ); - eeprom->word_size =1 << (eeprom_size + -IXGBE_EEPROM_WORD_SIZE_SHIFT ); + eeprom->word_size =BIT (eeprom_size + +IXGBE_EEPROM_WORD_SIZE_SHIFT ); }if (eec &IXGBE_EEC_ADDR_SIZE )
@@ -1502,7 +1502,7 @@ static void ixgbe_shift_out_eeprom_bits(struct ixgbe_hw *hw, u16 data,* Mask is used to shift "count" bits of "data" out to the EEPROM * one bit at a time. Determine the starting bit based on count */ - mask =0x01 << (count -1 ); + mask =BIT (count -1 );for (i =0 ; i < count; i++) {/*
@@ -1991,7 +1991,7 @@ static void ixgbe_set_mta(struct ixgbe_hw *hw, u8 *mc_addr)*/ vector_reg = (vector >>5 ) &0x7F ; vector_bit = vector &0x1F ; - hw->mac.mta_shadow[vector_reg] |= (1 << vector_bit); + hw->mac.mta_shadow[vector_reg] |=BIT (vector_bit); }/**
@@ -2921,10 +2921,10 @@ s32 ixgbe_clear_vmdq_generic(struct ixgbe_hw *hw, u32 rar, u32 vmdq) mpsar_hi =0 ; } }else if (vmdq <32 ) { - mpsar_lo &= ~(1 << vmdq); + mpsar_lo &= ~BIT (vmdq);IXGBE_WRITE_REG (hw,IXGBE_MPSAR_LO (rar), mpsar_lo); }else { - mpsar_hi &= ~(1 << (vmdq -32 )); + mpsar_hi &= ~BIT (vmdq -32 );IXGBE_WRITE_REG (hw,IXGBE_MPSAR_HI (rar), mpsar_hi); }
@@ -2953,11 +2953,11 @@ s32 ixgbe_set_vmdq_generic(struct ixgbe_hw *hw, u32 rar, u32 vmdq)if (vmdq <32 ) { mpsar =IXGBE_READ_REG (hw,IXGBE_MPSAR_LO (rar)); - mpsar |=1 << vmdq; + mpsar |=BIT (vmdq);IXGBE_WRITE_REG (hw,IXGBE_MPSAR_LO (rar), mpsar); }else { mpsar =IXGBE_READ_REG (hw,IXGBE_MPSAR_HI (rar)); - mpsar |=1 << (vmdq -32 ); + mpsar |=BIT (vmdq -32 );IXGBE_WRITE_REG (hw,IXGBE_MPSAR_HI (rar), mpsar); }return 0 ;
@@ -2978,11 +2978,11 @@ s32 ixgbe_set_vmdq_san_mac_generic(struct ixgbe_hw *hw, u32 vmdq)u32 rar = hw->mac.san_mac_rar_index;if (vmdq <32 ) { -IXGBE_WRITE_REG (hw,IXGBE_MPSAR_LO (rar),1 << vmdq); +IXGBE_WRITE_REG (hw,IXGBE_MPSAR_LO (rar),BIT (vmdq));IXGBE_WRITE_REG (hw,IXGBE_MPSAR_HI (rar),0 ); }else {IXGBE_WRITE_REG (hw,IXGBE_MPSAR_LO (rar),0 ); -IXGBE_WRITE_REG (hw,IXGBE_MPSAR_HI (rar),1 << (vmdq -32 )); +IXGBE_WRITE_REG (hw,IXGBE_MPSAR_HI (rar),BIT (vmdq -32 )); }return 0 ;
@@ -3082,7 +3082,7 @@ s32 ixgbe_set_vfta_generic(struct ixgbe_hw *hw, u32 vlan, u32 vind,* bits[4-0]: which bit in the register */ regidx = vlan /32 ; - vfta_delta =1 << (vlan %32 ); + vfta_delta =BIT (vlan %32 ); vfta =IXGBE_READ_REG (hw,IXGBE_VFTA (regidx));/* vfta_delta represents the difference between the current value
@@ -3113,12 +3113,12 @@ s32 ixgbe_set_vfta_generic(struct ixgbe_hw *hw, u32 vlan, u32 vind, bits =IXGBE_READ_REG (hw,IXGBE_VLVFB (vlvf_index *2 + vind /32 ));/* set the pool bit */ - bits |=1 << (vind %32 ); + bits |=BIT (vind %32 );if (vlan_on) goto vlvf_update;/* clear the pool bit */ - bits ^=1 << (vind %32 ); + bits ^=BIT (vind %32 );if (!bits && !IXGBE_READ_REG (hw,IXGBE_VLVFB (vlvf_index *2 +1 - vind /32 ))) {
@@ -3349,9 +3349,9 @@ void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf) pfvfspoof =IXGBE_READ_REG (hw,IXGBE_PFVFSPOOF (vf_target_reg));if (enable) - pfvfspoof |= (1 << vf_target_shift); + pfvfspoof |=BIT (vf_target_shift);else - pfvfspoof &= ~(1 << vf_target_shift); + pfvfspoof &= ~BIT (vf_target_shift);IXGBE_WRITE_REG (hw,IXGBE_PFVFSPOOF (vf_target_reg), pfvfspoof); }
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c +2 -2
@@ -186,7 +186,7 @@ void ixgbe_dcb_unpack_pfc(struct ixgbe_dcb_config *cfg, u8 *pfc_en)for (*pfc_en =0 , tc =0 ; tc <MAX_TRAFFIC_CLASS ; tc++) {if (tc_config[tc].dcb_pfc != pfc_disabled) - *pfc_en |=1 << tc; + *pfc_en |=BIT (tc); } }
@@ -232,7 +232,7 @@ void ixgbe_dcb_unpack_prio(struct ixgbe_dcb_config *cfg, int direction,u8 ixgbe_dcb_get_tc_from_up (struct ixgbe_dcb_config *cfg,int direction,u8 up) {struct tc_configuration *tc_config = &cfg->tc_config[0 ]; -u8 prio_mask =1 << up; +u8 prio_mask =BIT (up);u8 tc = cfg->num_tcs.pg_tcs;/* If tc is 0 then DCB is likely not enabled or supported */
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c +1 -1
@@ -210,7 +210,7 @@ s32 ixgbe_dcb_config_pfc_82598(struct ixgbe_hw *hw, u8 pfc_en)/* Configure PFC Tx thresholds per TC */ for (i =0 ; i <MAX_TRAFFIC_CLASS ; i++) { -if (!(pfc_en & (1 << i))) { +if (!(pfc_en &BIT (i))) {IXGBE_WRITE_REG (hw,IXGBE_FCRTL (i),0 );IXGBE_WRITE_REG (hw,IXGBE_FCRTH (i),0 );continue ;
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c +1 -1
@@ -248,7 +248,7 @@ s32 ixgbe_dcb_config_pfc_82599(struct ixgbe_hw *hw, u8 pfc_en, u8 *prio_tc)int enabled =0 ;for (j =0 ; j <MAX_USER_PRIORITY ; j++) { -if ((prio_tc[j] == i) && (pfc_en & (1 << j))) { +if ((prio_tc[j] == i) && (pfc_en &BIT (j))) { enabled =1 ;break ; }
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c +3 -3
@@ -62,7 +62,7 @@ static int ixgbe_copy_dcb_cfg(struct ixgbe_adapter *adapter, int tc_max) };u8 up =dcb_getapp (adapter->netdev, &app); -if (up && !(up & (1 << adapter->fcoe.up))) +if (up && !(up &BIT (adapter->fcoe.up))) changes |=BIT_APP_UPCHG ;#endif
@@ -657,7 +657,7 @@ static int ixgbe_dcbnl_ieee_setapp(struct net_device *dev, app->protocol == ETH_P_FCOE) {u8 app_mask =dcb_ieee_getapp_mask (dev, app); -if (app_mask & (1 << adapter->fcoe.up)) +if (app_mask &BIT (adapter->fcoe.up))return 0 ; adapter->fcoe.up = app->priority;
@@ -700,7 +700,7 @@ static int ixgbe_dcbnl_ieee_delapp(struct net_device *dev, app->protocol == ETH_P_FCOE) {u8 app_mask =dcb_ieee_getapp_mask (dev, app); -if (app_mask & (1 << adapter->fcoe.up)) +if (app_mask &BIT (adapter->fcoe.up))return 0 ; adapter->fcoe.up = app_mask ?
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +7 -7
@@ -1588,7 +1588,7 @@ static int ixgbe_intr_test(struct ixgbe_adapter *adapter, u64 *data)/* Test each interrupt */ for (; i <10 ; i++) {/* Interrupt to test */ - mask =1 << i; + mask =BIT (i);if (!shared_int) {/*
@@ -3016,14 +3016,14 @@ static int ixgbe_get_ts_info(struct net_device *dev, info->phc_index =-1 ; info->tx_types = - (1 <<HWTSTAMP_TX_OFF ) | - (1 <<HWTSTAMP_TX_ON ); +BIT (HWTSTAMP_TX_OFF ) | +BIT (HWTSTAMP_TX_ON ); info->rx_filters = - (1 <<HWTSTAMP_FILTER_NONE ) | - (1 <<HWTSTAMP_FILTER_PTP_V1_L4_SYNC ) | - (1 <<HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ ) | - (1 <<HWTSTAMP_FILTER_PTP_V2_EVENT ); +BIT (HWTSTAMP_FILTER_NONE ) | +BIT (HWTSTAMP_FILTER_PTP_V1_L4_SYNC ) | +BIT (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ ) | +BIT (HWTSTAMP_FILTER_PTP_V2_EVENT );break ;default :return ethtool_op_get_ts_info (dev, info);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +16 -16
@@ -2246,7 +2246,7 @@ static void ixgbe_configure_msix(struct ixgbe_adapter *adapter)/* Populate MSIX to EITR Select */ if (adapter->num_vfs >32 ) { -u32 eitrsel = (1 << (adapter->num_vfs -32 )) -1 ; +u32 eitrsel =BIT (adapter->num_vfs -32 ) -1 ;IXGBE_WRITE_REG (&adapter->hw,IXGBE_EITRSEL , eitrsel); }
@@ -2885,7 +2885,7 @@ int ixgbe_poll(struct napi_struct *napi, int budget)if (adapter->rx_itr_setting &1 )ixgbe_set_itr (q_vector);if (!test_bit (__IXGBE_DOWN, &adapter->state)) -ixgbe_irq_enable_queues (adapter, ((u64 )1 << q_vector->v_idx)); +ixgbe_irq_enable_queues (adapter,BIT_ULL (q_vector->v_idx));return 0 ; }
@@ -3178,15 +3178,15 @@ void ixgbe_configure_tx_ring(struct ixgbe_adapter *adapter,* currently 40. */ if (!ring->q_vector || (ring->q_vector->itr <IXGBE_100K_ITR )) - txdctl |= (1 <<16 );/* WTHRESH = 1 */ + txdctl |=1u <<16 ;/* WTHRESH = 1 */ else - txdctl |= (8 <<16 );/* WTHRESH = 8 */ + txdctl |=8u <<16 ;/* WTHRESH = 8 */ /* * Setting PTHRESH to 32 both improves performance * and avoids a TX hang with DFP enabled */ - txdctl |= (1 <<8 ) |/* HTHRESH = 1 */ + txdctl |= (1u <<8 ) |/* HTHRESH = 1 */ 32 ;/* PTHRESH = 32 */ /* reinitialize flowdirector state */
@@ -3738,9 +3738,9 @@ static void ixgbe_setup_psrtype(struct ixgbe_adapter *adapter)return ;if (rss_i >3 ) - psrtype |=2 <<29 ; + psrtype |=2u <<29 ;else if (rss_i >1 ) - psrtype |=1 <<29 ; + psrtype |=1u <<29 ;for_each_set_bit (pool, &adapter->fwd_bitmask,32 )IXGBE_WRITE_REG (hw,IXGBE_PSRTYPE (VMDQ_P (pool)), psrtype);
@@ -3995,7 +3995,7 @@ void ixgbe_update_pf_promisc_vlvf(struct ixgbe_adapter *adapter, u32 vid)* entry other than the PF. */ word = idx *2 + (VMDQ_P (0 ) /32 ); - bits = ~(1 << (VMDQ_P (0 )) %32 ); + bits = ~BIT (VMDQ_P (0 ) %32 ); bits &=IXGBE_READ_REG (hw,IXGBE_VLVFB (word));/* Disable the filter so this falls into the default pool. */
@@ -4130,7 +4130,7 @@ static void ixgbe_vlan_promisc_enable(struct ixgbe_adapter *adapter)u32 reg_offset =IXGBE_VLVFB (i *2 +VMDQ_P (0 ) /32 );u32 vlvfb =IXGBE_READ_REG (hw, reg_offset); - vlvfb |=1 << (VMDQ_P (0 ) %32 ); + vlvfb |=BIT (VMDQ_P (0 ) %32 );IXGBE_WRITE_REG (hw, reg_offset, vlvfb); }
@@ -4160,7 +4160,7 @@ static void ixgbe_scrub_vfta(struct ixgbe_adapter *adapter, u32 vfta_offset)if (vlvf) {/* record VLAN ID in VFTA */ - vfta[(vid - vid_start) /32 ] |=1 << (vid %32 ); + vfta[(vid - vid_start) /32 ] |=BIT (vid %32 );/* if PF is part of this then continue */ if (test_bit (vid, adapter->active_vlans))
@@ -4169,7 +4169,7 @@ static void ixgbe_scrub_vfta(struct ixgbe_adapter *adapter, u32 vfta_offset)/* remove PF from the pool */ word = i *2 +VMDQ_P (0 ) /32 ; - bits = ~(1 << (VMDQ_P (0 ) %32 )); + bits = ~BIT (VMDQ_P (0 ) %32 ); bits &=IXGBE_READ_REG (hw,IXGBE_VLVFB (word));IXGBE_WRITE_REG (hw,IXGBE_VLVFB (word), bits); }
@@ -4863,9 +4863,9 @@ static void ixgbe_fwd_psrtype(struct ixgbe_fwd_adapter *vadapter)return ;if (rss_i >3 ) - psrtype |=2 <<29 ; + psrtype |=2u <<29 ;else if (rss_i >1 ) - psrtype |=1 <<29 ; + psrtype |=1u <<29 ;IXGBE_WRITE_REG (hw,IXGBE_PSRTYPE (VMDQ_P (pool)), psrtype); }
@@ -4929,7 +4929,7 @@ static void ixgbe_disable_fwd_ring(struct ixgbe_fwd_adapter *vadapter,/* shutdown specific queue receive and wait for dma to settle */ ixgbe_disable_rx_queue (adapter, rx_ring);usleep_range (10000 ,20000 ); -ixgbe_irq_disable_queues (adapter, ((u64 )1 << index)); +ixgbe_irq_disable_queues (adapter,BIT_ULL (index));ixgbe_clean_rx_ring (rx_ring); rx_ring->l2_accel_priv =NULL ; }
@@ -6629,7 +6629,7 @@ static void ixgbe_check_hang_subtask(struct ixgbe_adapter *adapter)for (i =0 ; i < adapter->num_q_vectors; i++) {struct ixgbe_q_vector *qv = adapter->q_vector[i];if (qv->rx.ring || qv->tx.ring) - eics |= ((u64 )1 << i); + eics |=BIT_ULL (i); } }
@@ -9221,7 +9221,7 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto err_ioremap; }/* If EEPROM is valid (bit 8 = 1), use default otherwise use bit bang */ -if (!(eec & (1 <<8 ))) +if (!(eec &BIT (8 ))) hw->eeprom.ops.read = &ixgbe_read_eeprom_bit_bang_generic;/* PHY */
drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c +2 -2
@@ -314,8 +314,8 @@ static s32 ixgbe_check_for_rst_pf(struct ixgbe_hw *hw, u16 vf_number)break ; } -if (vflre & (1 << vf_shift)) { -IXGBE_WRITE_REG (hw,IXGBE_VFLREC (reg_offset), (1 << vf_shift)); +if (vflre &BIT (vf_shift)) { +IXGBE_WRITE_REG (hw,IXGBE_VFLREC (reg_offset),BIT (vf_shift)); hw->mbx.stats.rsts++;return 0 ; }
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h +1 -1
@@ -107,7 +107,7 @@#define IXGBE_PE 0xE0/* Port expander addr */ #define IXGBE_PE_OUTPUT 1/* Output reg offset */ #define IXGBE_PE_CONFIG 3/* Config reg offset */ -#define IXGBE_PE_BIT1 (1 << 1) +#define IXGBE_PE_BIT1 BIT(1)/* Flow control defines */ #define IXGBE_TAF_SYM_PAUSE 0x400
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c +2 -2
@@ -396,7 +396,7 @@ static int ixgbe_ptp_adjfreq_82599(struct ptp_clock_info *ptp, s32 ppb)if (incval >0x00FFFFFFULL )e_dev_warn ("PTP ppb adjusted SYSTIME rate overflowed!\n" );IXGBE_WRITE_REG (hw,IXGBE_TIMINCA , - (1 <<IXGBE_INCPER_SHIFT_82599 ) | +BIT (IXGBE_INCPER_SHIFT_82599 ) | ((u32 )incval &0x00FFFFFFUL ));break ;default :
@@ -1114,7 +1114,7 @@ void ixgbe_ptp_start_cyclecounter(struct ixgbe_adapter *adapter) incval >>=IXGBE_INCVAL_SHIFT_82599 ; cc.shift -=IXGBE_INCVAL_SHIFT_82599 ;IXGBE_WRITE_REG (hw,IXGBE_TIMINCA , - (1 <<IXGBE_INCPER_SHIFT_82599 ) | incval); +BIT (IXGBE_INCPER_SHIFT_82599 ) | incval);break ;default :/* other devices aren't supported */
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +11 -11
@@ -406,7 +406,7 @@ static int ixgbe_set_vf_multicasts(struct ixgbe_adapter *adapter, vector_reg = (vfinfo->vf_mc_hashes[i] >>5 ) &0x7F ; vector_bit = vfinfo->vf_mc_hashes[i] &0x1F ; mta_reg =IXGBE_READ_REG (hw,IXGBE_MTA (vector_reg)); - mta_reg |= (1 << vector_bit); + mta_reg |=BIT (vector_bit);IXGBE_WRITE_REG (hw,IXGBE_MTA (vector_reg), mta_reg); } vmolr |=IXGBE_VMOLR_ROMPE ;
@@ -433,7 +433,7 @@ void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter) vector_reg = (vfinfo->vf_mc_hashes[j] >>5 ) &0x7F ; vector_bit = vfinfo->vf_mc_hashes[j] &0x1F ; mta_reg =IXGBE_READ_REG (hw,IXGBE_MTA (vector_reg)); - mta_reg |= (1 << vector_bit); + mta_reg |=BIT (vector_bit);IXGBE_WRITE_REG (hw,IXGBE_MTA (vector_reg), mta_reg); }
@@ -536,9 +536,9 @@ static s32 ixgbe_set_vf_lpe(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)/* enable or disable receive depending on error */ vfre =IXGBE_READ_REG (hw,IXGBE_VFRE (reg_offset));if (err) - vfre &= ~(1 << vf_shift); + vfre &= ~BIT (vf_shift);else - vfre |=1 << vf_shift; + vfre |=BIT (vf_shift);IXGBE_WRITE_REG (hw,IXGBE_VFRE (reg_offset), vfre);if (err) {
@@ -592,8 +592,8 @@ static void ixgbe_clear_vf_vlans(struct ixgbe_adapter *adapter, u32 vf)u32 vlvfb_mask, pool_mask, i;/* create mask for VF and other pools */ - pool_mask = ~(1 << (VMDQ_P (0 ) %32 )); - vlvfb_mask =1 << (vf %32 ); + pool_mask = ~BIT (VMDQ_P (0 ) %32 ); + vlvfb_mask =BIT (vf %32 );/* post increment loop, covers VLVF_ENTRIES - 1 to 0 */ for (i =IXGBE_VLVF_ENTRIES ; i--;) {
@@ -629,7 +629,7 @@ static void ixgbe_clear_vf_vlans(struct ixgbe_adapter *adapter, u32 vf) goto update_vlvfb; vid = vlvf &VLAN_VID_MASK ; - mask =1 << (vid %32 ); + mask =BIT (vid %32 );/* clear bit from VFTA */ vfta =IXGBE_READ_REG (hw,IXGBE_VFTA (vid /32 ));
@@ -813,7 +813,7 @@ static int ixgbe_vf_reset_msg(struct ixgbe_adapter *adapter, u32 vf)/* enable transmit for vf */ reg =IXGBE_READ_REG (hw,IXGBE_VFTE (reg_offset)); - reg |=1 << vf_shift; + reg |=BIT (vf_shift);IXGBE_WRITE_REG (hw,IXGBE_VFTE (reg_offset), reg);/* force drop enable for all VF Rx queues */
@@ -821,7 +821,7 @@ static int ixgbe_vf_reset_msg(struct ixgbe_adapter *adapter, u32 vf)/* enable receive for vf */ reg =IXGBE_READ_REG (hw,IXGBE_VFRE (reg_offset)); - reg |=1 << vf_shift; + reg |=BIT (vf_shift);/* * The 82599 cannot support a mix of jumbo and non-jumbo PF/VFs. * For more info take a look@ixgbe_set_vf_lpe
@@ -837,7 +837,7 @@ static int ixgbe_vf_reset_msg(struct ixgbe_adapter *adapter, u32 vf)#endif /* CONFIG_FCOE */ if (pf_max_frame >ETH_FRAME_LEN ) - reg &= ~(1 << vf_shift); + reg &= ~BIT (vf_shift); }IXGBE_WRITE_REG (hw,IXGBE_VFRE (reg_offset), reg);
@@ -846,7 +846,7 @@ static int ixgbe_vf_reset_msg(struct ixgbe_adapter *adapter, u32 vf)/* Enable counting of spoofed packets in the SSVPC register */ reg =IXGBE_READ_REG (hw,IXGBE_VMECM (reg_offset)); - reg |= (1 << vf_shift); + reg |=BIT (vf_shift);IXGBE_WRITE_REG (hw,IXGBE_VMECM (reg_offset), reg);/*
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h +82 -82
250 lines not on this page · raw message
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c +2 -2
@@ -214,8 +214,8 @@ s32 ixgbe_init_eeprom_params_X540(struct ixgbe_hw *hw) eec =IXGBE_READ_REG (hw,IXGBE_EEC (hw)); eeprom_size = (u16)((eec &IXGBE_EEC_SIZE ) >>IXGBE_EEC_SIZE_SHIFT ); - eeprom->word_size =1 << (eeprom_size + -IXGBE_EEPROM_WORD_SIZE_SHIFT ); + eeprom->word_size =BIT (eeprom_size + +IXGBE_EEPROM_WORD_SIZE_SHIFT );hw_dbg (hw,"Eeprom params: type = %d, size = %d\n" , eeprom->type, eeprom->word_size);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c +4 -4
@@ -335,8 +335,8 @@ static s32 ixgbe_init_eeprom_params_X550(struct ixgbe_hw *hw) eec =IXGBE_READ_REG (hw,IXGBE_EEC (hw)); eeprom_size = (u16)((eec &IXGBE_EEC_SIZE ) >>IXGBE_EEC_SIZE_SHIFT ); - eeprom->word_size =1 << (eeprom_size + -IXGBE_EEPROM_WORD_SIZE_SHIFT ); + eeprom->word_size =BIT (eeprom_size + +IXGBE_EEPROM_WORD_SIZE_SHIFT );hw_dbg (hw,"Eeprom params: type = %d, size = %d\n" , eeprom->type, eeprom->word_size);
@@ -2646,9 +2646,9 @@ static void ixgbe_set_ethertype_anti_spoofing_X550(struct ixgbe_hw *hw, pfvfspoof =IXGBE_READ_REG (hw,IXGBE_PFVFSPOOF (vf_target_reg));if (enable) - pfvfspoof |= (1 << vf_target_shift); + pfvfspoof |=BIT (vf_target_shift);else - pfvfspoof &= ~(1 << vf_target_shift); + pfvfspoof &= ~BIT (vf_target_shift);IXGBE_WRITE_REG (hw,IXGBE_PFVFSPOOF (vf_target_reg), pfvfspoof); }
Signature · 1 line
2.8.1.102.ga49ec4a
Bowers
PATCH v2 1/13 ixgbe: use BIT() macro
Quoted 31 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Jacob Keller
Sent: Wednesday, April 13, 2016 4:08 PM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [PATCH v2 01/13] ixgbe: useBIT()macroSeveral areas of ixgbe were written before widespread usage of the BIT(n) macro. With the impending release of GCC 6 and its associated new warnings, some usages such as (1 << 31) have been noted within the ixgbe driver source. Fix these wholesale and prevent future issues by simply using BIT macro instead of hand coded bit shifts.
Also fix a few shifts that are shifting values into place by using the 'u' prefix to indicate unsigned. It doesn't strictly matter in these cases because we're not shifting by too large a value, but these are all unsigned values and should be indicated as such.
Signed-off-by Jacob Keller <[email protected]>--- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 68 ++++----- drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 16 +- drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 30 ++-- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 6 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 14 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 32 ++-- drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c | 4 +-
Quoted 8 lines
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 22 +-- drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 164 ++++++++++--------- -- drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 8 +- 17 files changed, 194 insertions(+), 194 deletions(-)
Driver compiles and passes traffic
PATCH v2 2/13 ixgbe: resolve shift of negative value warning
In reply to Jacob KellerMake use of GENMASK instead of open coding the equivalent operation incorrectly.
--- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +2 -2
@@ -3767,9 +3767,9 @@ static void ixgbe_configure_virtualization(struct ixgbe_adapter *adapter) reg_offset = (VMDQ_P (0 ) >=32 ) ?1 :0 ;/* Enable only the PF's pool for Tx/Rx */ -IXGBE_WRITE_REG (hw,IXGBE_VFRE (reg_offset), (~0 ) << vf_shift); +IXGBE_WRITE_REG (hw,IXGBE_VFRE (reg_offset),GENMASK (vf_shift,31 ));IXGBE_WRITE_REG (hw,IXGBE_VFRE (reg_offset ^1 ), reg_offset -1 ); -IXGBE_WRITE_REG (hw,IXGBE_VFTE (reg_offset), (~0 ) << vf_shift); +IXGBE_WRITE_REG (hw,IXGBE_VFTE (reg_offset),GENMASK (vf_shift,31 ));IXGBE_WRITE_REG (hw,IXGBE_VFTE (reg_offset ^1 ), reg_offset -1 );if (adapter->bridge_mode ==BRIDGE_MODE_VEB )IXGBE_WRITE_REG (hw,IXGBE_PFDTXGSWC ,IXGBE_PFDTXGSWC_VT_LBEN );
Signature · 1 line
2.8.1.102.ga49ec4a
Bowers
PATCH v2 2/13 ixgbe: resolve shift of negative value warning
Quoted 8 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Jacob Keller
Sent: Wednesday, April 13, 2016 4:08 PM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [PATCH v2 02/13] ixgbe: resolve shift of negative value warning
Quoted 7 lines
Make use of GENMASK instead of open coding the equivalent operation incorrectly.
Signed-off-by Jacob Keller <[email protected]>--- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
No shift of value warning at compile
PATCH v2 3/13 ixgbevf: make use of BIT() macro to avoid shift of signed values
In reply to Jacob KellerAlso cleanup a case where we're bit shifting a value into place, and use an unsigned constant. Make use of the unsigned postfix in places where BIT() macro is not appropriate.
--- drivers/net/ethernet/intel/ixgbevf/defines.h | 22 +++++++++++----------- drivers/net/ethernet/intel/ixgbevf/ethtool.c | 3 ++- drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 8 ++++---- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +++++++++--------- 4 files changed, 26 insertions(+), 25 deletions(-)
drivers/net/ethernet/intel/ixgbevf/defines.h +11 -11
@@ -74,7 +74,7 @@ typedef u32 ixgbe_link_speed;#define IXGBE_RXDCTL_RLPML_EN 0x00008000/* DCA Control */ -#define IXGBE_DCA_TXCTRL_TX_WB_RO_EN (1 << 11)/* Tx Desc writeback RO bit */ +#define IXGBE_DCA_TXCTRL_TX_WB_RO_EN BIT(11)/* Tx Desc writeback RO bit */ /* PSRTYPE bit definitions */ #define IXGBE_PSRTYPE_TCPHDR 0x00000010
@@ -296,16 +296,16 @@ struct ixgbe_adv_tx_context_desc {#define IXGBE_TXDCTL_SWFLSH 0x04000000/* Tx Desc. wr-bk flushing */ #define IXGBE_TXDCTL_WTHRESH_SHIFT 16/* shift to WTHRESH bits */ -#define IXGBE_DCA_RXCTRL_DESC_DCA_EN (1 << 5)/* Rx Desc enable */ -#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN (1 << 6)/* Rx Desc header ena */ -#define IXGBE_DCA_RXCTRL_DATA_DCA_EN (1 << 7)/* Rx Desc payload ena */ -#define IXGBE_DCA_RXCTRL_DESC_RRO_EN (1 << 9)/* Rx rd Desc Relax Order */ -#define IXGBE_DCA_RXCTRL_DATA_WRO_EN (1 << 13)/* Rx wr data Relax Order */ -#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN (1 << 15)/* Rx wr header RO */ +#define IXGBE_DCA_RXCTRL_DESC_DCA_EN BIT(5)/* Rx Desc enable */ +#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN BIT(6)/* Rx Desc header ena */ +#define IXGBE_DCA_RXCTRL_DATA_DCA_EN BIT(7)/* Rx Desc payload ena */ +#define IXGBE_DCA_RXCTRL_DESC_RRO_EN BIT(9)/* Rx rd Desc Relax Order */ +#define IXGBE_DCA_RXCTRL_DATA_WRO_EN BIT(13)/* Rx wr data Relax Order */ +#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN BIT(15)/* Rx wr header RO */ -#define IXGBE_DCA_TXCTRL_DESC_DCA_EN (1 << 5)/* DCA Tx Desc enable */ -#define IXGBE_DCA_TXCTRL_DESC_RRO_EN (1 << 9)/* Tx rd Desc Relax Order */ -#define IXGBE_DCA_TXCTRL_DESC_WRO_EN (1 << 11)/* Tx Desc writeback RO bit */ -#define IXGBE_DCA_TXCTRL_DATA_RRO_EN (1 << 13)/* Tx rd data Relax Order */ +#define IXGBE_DCA_TXCTRL_DESC_DCA_EN BIT(5)/* DCA Tx Desc enable */ +#define IXGBE_DCA_TXCTRL_DESC_RRO_EN BIT(9)/* Tx rd Desc Relax Order */ +#define IXGBE_DCA_TXCTRL_DESC_WRO_EN BIT(11)/* Tx Desc writeback RO bit */ +#define IXGBE_DCA_TXCTRL_DATA_RRO_EN BIT(13)/* Tx rd data Relax Order */ #endif /* _IXGBEVF_DEFINES_H_ */
drivers/net/ethernet/intel/ixgbevf/ethtool.c +2 -1
@@ -166,7 +166,8 @@ static void ixgbevf_get_regs(struct net_device *netdev,memset (p,0 , regs_len); - regs->version = (1 <<24 ) | hw->revision_id <<16 | hw->device_id; +/* generate a number suitable for ethtool's register version */ + regs->version = (1u <<24 ) | (hw->revision_id <<16 ) | hw->device_id/* General Registers */ regs_buff[0] = IXGBE_READ_REG(hw, IXGBE_VFCTRL);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h +4 -4
@@ -166,10 +166,10 @@ struct ixgbevf_ring {#define MAXIMUM_ETHERNET_VLAN_SIZE (VLAN_ETH_FRAME_LEN + ETH_FCS_LEN) -#define IXGBE_TX_FLAGS_CSUM (u32)(1) -#define IXGBE_TX_FLAGS_VLAN (u32)(1 << 1) -#define IXGBE_TX_FLAGS_TSO (u32)(1 << 2) -#define IXGBE_TX_FLAGS_IPV4 (u32)(1 << 3) +#define IXGBE_TX_FLAGS_CSUM BIT(0) +#define IXGBE_TX_FLAGS_VLAN BIT(1) +#define IXGBE_TX_FLAGS_TSO BIT(2) +#define IXGBE_TX_FLAGS_IPV4 BIT(3)#define IXGBE_TX_FLAGS_VLAN_MASK 0xffff0000#define IXGBE_TX_FLAGS_VLAN_PRIO_MASK 0x0000e000#define IXGBE_TX_FLAGS_VLAN_SHIFT 16
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +9 -9
@@ -1056,7 +1056,7 @@ static int ixgbevf_poll(struct napi_struct *napi, int budget)if (!test_bit (__IXGBEVF_DOWN, &adapter->state) && !test_bit (__IXGBEVF_REMOVING, &adapter->state))ixgbevf_irq_enable_queues (adapter, -1 << q_vector->v_idx); +BIT (q_vector->v_idx));return 0 ; }
@@ -1158,14 +1158,14 @@ static void ixgbevf_configure_msix(struct ixgbevf_adapter *adapter) }/* add q_vector eims value to global eims_enable_mask */ - adapter->eims_enable_mask |=1 << v_idx; + adapter->eims_enable_mask |=BIT (v_idx);ixgbevf_write_eitr (q_vector); }ixgbevf_set_ivar (adapter,-1 ,1 , v_idx);/* setup eims_other and add value to global eims_enable_mask */ - adapter->eims_other =1 << v_idx; + adapter->eims_other =BIT (v_idx); adapter->eims_enable_mask |= adapter->eims_other; }
@@ -1589,8 +1589,8 @@ static void ixgbevf_configure_tx_ring(struct ixgbevf_adapter *adapter, txdctl |= (8 <<16 );/* WTHRESH = 8 */ /* Setting PTHRESH to 32 both improves performance */ - txdctl |= (1 <<8 ) |/* HTHRESH = 1 */ -32 ;/* PTHRESH = 32 */ + txdctl |= (1u <<8 ) |/* HTHRESH = 1 */ +32 ;/* PTHRESH = 32 */ clear_bit (__IXGBEVF_HANG_CHECK_ARMED, &ring->state);
@@ -1646,7 +1646,7 @@ static void ixgbevf_setup_psrtype(struct ixgbevf_adapter *adapter)IXGBE_PSRTYPE_L2HDR ;if (adapter->num_rx_queues >1 ) - psrtype |=1 <<29 ; + psrtype |=BIT (29 );IXGBE_WRITE_REG (hw,IXGBE_VFPSRTYPE , psrtype); }
@@ -2797,7 +2797,7 @@ static void ixgbevf_check_hang_subtask(struct ixgbevf_adapter *adapter)struct ixgbevf_q_vector *qv = adapter->q_vector[i];if (qv->rx.ring || qv->tx.ring) - eics |=1 << i; + eics |=BIT (i); }/* Cause software interrupt to ensure rings are cleaned */
@@ -3325,7 +3325,7 @@ static int ixgbevf_tso(struct ixgbevf_ring *tx_ring,/* mss_l4len_id: use 1 as index for TSO */ mss_l4len_idx = l4len <<IXGBE_ADVTXD_L4LEN_SHIFT ; mss_l4len_idx |=skb_shinfo (skb)->gso_size <<IXGBE_ADVTXD_MSS_SHIFT ; - mss_l4len_idx |=1 <<IXGBE_ADVTXD_IDX_SHIFT ; + mss_l4len_idx |= (1u <<IXGBE_ADVTXD_IDX_SHIFT );/* vlan_macip_lens: HEADLEN, MACLEN, VLAN tag */ vlan_macip_lens =skb_network_header_len (skb);
@@ -3422,7 +3422,7 @@ static void ixgbevf_tx_olinfo_status(union ixgbe_adv_tx_desc *tx_desc,/* use index 1 context for TSO/FSO/FCOE */ if (tx_flags &IXGBE_TX_FLAGS_TSO ) - olinfo_status |=cpu_to_le32 (1 <<IXGBE_ADVTXD_IDX_SHIFT ); + olinfo_status |=cpu_to_le32 (1u <<IXGBE_ADVTXD_IDX_SHIFT );/* Check Context must be set if Tx switch is enabled, which it * always is for case where virtual functions are running
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 3/13 ixgbevf: make use of BIT() macro to avoid shift of signed values
Quoted 90 lines · Jacob Keller
Also cleanup a case where we're bit shifting a value into place, and use
an unsigned constant. Make use of the unsigned postfix in places whereBIT()macro is not appropriate.Signed-off-by Jacob Keller <[email protected]>---
?drivers/net/ethernet/intel/ixgbevf/defines.h????? | 22 +++++++++++
-----------?drivers/net/ethernet/intel/ixgbevf/ethtool.c????? |? 3 ++- ?drivers/net/ethernet/intel/ixgbevf/ixgbevf.h????? |? 8 ++++---- ?drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +++++++++---------
?4 files changed, 26 insertions(+), 25 deletions(-)drivers/net/ethernet/intel/ixgbevf/defines.h +0
-0@@ -74,7 +74,7 @@ typedef u32 ixgbe_link_speed;?#define IXGBE_RXDCTL_RLPML_EN??0x00008000
?
?/* DCA Control */
-#defineIXGBE_DCA_TXCTRL_TX_WB_RO_EN(1 << 11) /* Tx Desc writeback RO bit */
+#defineIXGBE_DCA_TXCTRL_TX_WB_RO_ENBIT(11) /* Tx Desc writeback RO bit */
?
?/* PSRTYPE bit definitions */
?#define IXGBE_PSRTYPE_TCPHDR???0x00000010drivers/net/ethernet/intel/ixgbevf/defines.h +0
-0@@ -296,16 +296,16 @@ struct ixgbe_adv_tx_context_desc {?#define IXGBE_TXDCTL_SWFLSH????????????0x04000000 /* Tx Desc. wr-bk flushing */
?#define IXGBE_TXDCTL_WTHRESH_SHIFT?????16???????? /* shift to WTHRESH bits */
?
-#define IXGBE_DCA_RXCTRL_DESC_DCA_EN???(1 << 5)? /* Rx Desc enable */
-#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN???(1 << 6)? /* Rx Desc header ena */
-#define IXGBE_DCA_RXCTRL_DATA_DCA_EN???(1 << 7)? /* Rx Desc payload ena */
-#define IXGBE_DCA_RXCTRL_DESC_RRO_EN???(1 << 9)? /* Rx rd Desc Relax Order */
-#define IXGBE_DCA_RXCTRL_DATA_WRO_EN???(1 << 13) /* Rx wr data Relax Order */
-#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN???(1 << 15) /* Rx wr header RO */drivers/net/ethernet/intel/ixgbevf/defines.h +2
-0+#define IXGBE_DCA_RXCTRL_DESC_DCA_EN ???BIT(5)?/* Rx Desc enable */ +#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN ???BIT(6)?/* Rx Desc header ena */
+#define IXGBE_DCA_RXCTRL_DATA_DCA_EN???BIT(7)? /* Rx Desc payload ena */
+#define IXGBE_DCA_RXCTRL_DESC_RRO_EN???BIT(9)? /* Rx rd Desc Relax Order */
+#define IXGBE_DCA_RXCTRL_DATA_WRO_EN???BIT(13) /* Rx wr data Relax Order */
+#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN???BIT(15) /* Rx wr header RO */ ?
-#define IXGBE_DCA_TXCTRL_DESC_DCA_EN???(1 << 5)? /* DCA Tx Desc enable */
-#define IXGBE_DCA_TXCTRL_DESC_RRO_EN???(1 << 9)? /* Tx rd Desc Relax Order */
-#define IXGBE_DCA_TXCTRL_DESC_WRO_EN???(1 << 11) /* Tx Desc writeback RO bit */
-#define IXGBE_DCA_TXCTRL_DATA_RRO_EN???(1 << 13) /* Tx rd data Relax Order */
+#define IXGBE_DCA_TXCTRL_DESC_DCA_EN???BIT(5)? /* DCA Tx Desc enable */
+#define IXGBE_DCA_TXCTRL_DESC_RRO_EN???BIT(9)? /* Tx rd Desc Relax Order */
+#define IXGBE_DCA_TXCTRL_DESC_WRO_EN???BIT(11) /* Tx Desc writeback RO bit */
+#define IXGBE_DCA_TXCTRL_DATA_RRO_EN???BIT(13) /* Tx rd data Relax Order */
?
?#endif /* _IXGBEVF_DEFINES_H_ */drivers/net/ethernet/intel/ixgbevf/ethtool.c +0
-0@@ -166,7 +166,8 @@ static void ixgbevf_get_regs(struct net_device *netdev,?
????????memset(p, 0,regs_len);
?
-???????regs->version = (1 << 24) |hw->revision_id<< 16 | hw-
Quoted 5 lines
Quoted 1 line
device_id;+???????/* generate a number suitable for ethtool's register version */
+???????regs->version = (1u << 24) | (hw->revision_id<< 16) | hw-Quoted 1 line
device_id
I guessing you did not bother compile testing because it is pretty
obvious your missing a ';' in the line above. ?I have added the missing
semi-colon so that validation can move forward.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20160413/ad6bc878/attachment.asc>
Keller
PATCH v2 3/13 ixgbevf: make use of BIT() macro to avoid shift of signed values
Quoted 114 lines
-----Original Message-----
From: Kirsher, Jeffrey T
Sent: Wednesday, April 13, 2016 9:23 PM
To: Keller, Jacob E <[email protected]>; Intel Wired LAN <intel- wired-lan at lists.osuosl.org>
Subject: Re: [Intel-wired-lan] [PATCH v2 03/13] ixgbevf: make use ofBIT()macro to avoid shift of signed valuesQuoted 24 lines · Jacob Keller
Also cleanup a case where we're bit shifting a value into place, and use
an unsigned constant. Make use of the unsigned postfix in places whereBIT()macro is not appropriate.Signed-off-by Jacob Keller <[email protected]>---
?drivers/net/ethernet/intel/ixgbevf/defines.h????? | 22 +++++++++++
-----------?drivers/net/ethernet/intel/ixgbevf/ethtool.c????? |? 3 ++- ?drivers/net/ethernet/intel/ixgbevf/ixgbevf.h????? |? 8 ++++---- ?drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +++++++++---------
?4 files changed, 26 insertions(+), 25 deletions(-)drivers/net/ethernet/intel/ixgbevf/defines.h +0
-0@@ -74,7 +74,7 @@ typedef u32 ixgbe_link_speed;?#define IXGBE_RXDCTL_RLPML_EN??0x00008000
Quoted 2 lines
?/* DCA Control */
-#defineIXGBE_DCA_TXCTRL_TX_WB_RO_EN(1 << 11) /* Tx Descwriteback
Quoted 2 lines
RO bit */
+#defineIXGBE_DCA_TXCTRL_TX_WB_RO_ENBIT(11) /* Tx Descwriteback RO
Quoted 10 lines
bit */
?/* PSRTYPE bit definitions */
?#define IXGBE_PSRTYPE_TCPHDR???0x00000010drivers/net/ethernet/intel/ixgbevf/defines.h +0
-0@@ -296,16 +296,16 @@ struct ixgbe_adv_tx_context_desc {?#define IXGBE_TXDCTL_SWFLSH????????????0x04000000 /* Tx Desc. wr-bk flushing */
?#define IXGBE_TXDCTL_WTHRESH_SHIFT?????16???????? /* shift to WTHRESH bits */Quoted 5 lines
-#define IXGBE_DCA_RXCTRL_DESC_DCA_EN???(1 << 5)? /* Rx Desc enable */
-#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN???(1 << 6)? /* Rx Desc header ena */
-#define IXGBE_DCA_RXCTRL_DATA_DCA_EN???(1 << 7)? /* Rx Descpayload
Quoted 2 lines
ena */
-#define IXGBE_DCA_RXCTRL_DESC_RRO_EN???(1 << 9)? /* Rx rd DescRelax
Quoted 2 lines
Order */
-#define IXGBE_DCA_RXCTRL_DATA_WRO_EN???(1 << 13) /* Rx wr dataRelax
Quoted 2 lines
Order */
-#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN???(1 << 15) /* Rx wr headerRO
Quoted 2 lines
*/
+#define IXGBE_DCA_RXCTRL_DESC_DCA_EN???BIT(5)? /* Rx Desc enable*/
Quoted 1 line
+#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN???BIT(6)? /* Rx Desc header
ena
Quoted 6 lines
*/
+#define IXGBE_DCA_RXCTRL_DATA_DCA_EN???BIT(7)? /* Rx Desc payload ena */
+#define IXGBE_DCA_RXCTRL_DESC_RRO_EN???BIT(9)? /* Rx rd Desc Relax Order */
+#define IXGBE_DCA_RXCTRL_DATA_WRO_EN???BIT(13) /* Rx wr dataRelax
Quoted 2 lines
Order */
+#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN???BIT(15) /* Rx wr headerRO */
Quoted 4 lines
-#define IXGBE_DCA_TXCTRL_DESC_DCA_EN???(1 << 5)? /* DCA Tx Desc enable */
-#define IXGBE_DCA_TXCTRL_DESC_RRO_EN???(1 << 9)? /* Tx rd DescRelax
Quoted 4 lines
Order */
-#define IXGBE_DCA_TXCTRL_DESC_WRO_EN???(1 << 11) /* Tx Desc writeback RO bit */
-#define IXGBE_DCA_TXCTRL_DATA_RRO_EN???(1 << 13) /* Tx rd dataRelax
Quoted 2 lines
Order */
+#define IXGBE_DCA_TXCTRL_DESC_DCA_EN???BIT(5)? /* DCA Tx Descenable
Quoted 4 lines
*/
+#define IXGBE_DCA_TXCTRL_DESC_RRO_EN???BIT(9)? /* Tx rd Desc Relax Order */
+#define IXGBE_DCA_TXCTRL_DESC_WRO_EN???BIT(11) /* Tx Descwriteback
Quoted 17 lines
RO bit */
+#define IXGBE_DCA_TXCTRL_DATA_RRO_EN???BIT(13) /* Tx rd data Relax Order */?#endif /* _IXGBEVF_DEFINES_H_ */
drivers/net/ethernet/intel/ixgbevf/ethtool.c +0
-1@@ -166,7 +166,8 @@ static void ixgbevf_get_regs(struct net_device *netdev, ????????memset(p, 0, regs_len); -???????regs->version = (1 << 24) | hw->revision_id << 16 | hw- >device_id;
Quoted 8 lines
Quoted 4 lines
drivers/net/ethernet/intel/ixgbevf/ethtool.c +2
-0+???????/* generate a number suitable for ethtool's register version */ +???????regs->version = (1u << 24) | (hw->revision_id << 16) | hw-Quoted 1 line
device_idI guessing you did not bother compile testing because it is pretty obvious your missing a ';' in the line above. ?I have added the missing semi-colon so that validation can move forward.
Oops :( thanks Jeff.
Bowers
PATCH v2 3/13 ixgbevf: make use of BIT() macro to avoid shift of signed values
In reply to Jacob KellerQuoted 12 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Jacob Keller
Sent: Wednesday, April 13, 2016 4:08 PM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [PATCH v2 03/13] ixgbevf: make use ofBIT()macro to avoid shift of signed valuesAlso cleanup a case where we're bit shifting a value into place, and use an unsigned constant. Make use of the unsigned postfix in places where
BIT()macro is not appropriate.
Quoted 7 lines
Signed-off-by Jacob Keller <[email protected]>--- drivers/net/ethernet/intel/ixgbevf/defines.h | 22 +++++++++++----------- drivers/net/ethernet/intel/ixgbevf/ethtool.c | 3 ++- drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 8 ++++---- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 18 +++++++++--------- 4 files changed, 26 insertions(+), 25 deletions(-)
Driver compiles without shift warnings
PATCH v2 4/13 i40e/i40evf: fix I40E_MASK signed shift overflow warnings
In reply to Jacob KellerGCC 6 has a new warning which will display when you attempt to left shift a signed value beyond the storage size of the type. I40E_MASK generates a mask value for 32bit registers. Properly typecast the mask value and place the values in parenthesis to prevent macro expansion issues.
--- drivers/net/ethernet/intel/i40e/i40e_type.h | 2 +- drivers/net/ethernet/intel/i40evf/i40e_type.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/intel/i40e/i40e_type.h +1 -1
@@ -36,7 +36,7 @@#include "i40e_devids.h" /* I40E_MASK is a macro used on 32 bit registers */ -#define I40E_MASK (mask, shift) (mask << shift) +#define I40E_MASK (mask, shift) ((u32)(mask) << (shift))#define I40E_MAX_VSI_QP 16#define I40E_MAX_VF_VSI 3
drivers/net/ethernet/intel/i40evf/i40e_type.h +1 -1
@@ -36,7 +36,7 @@#include "i40e_devids.h" /* I40E_MASK is a macro used on 32 bit registers */ -#define I40E_MASK (mask, shift) (mask << shift) +#define I40E_MASK (mask, shift) ((u32)(mask) << (shift))#define I40E_MAX_VSI_QP 16#define I40E_MAX_VF_VSI 3
Signature · 1 line
2.8.1.102.ga49ec4a
Bowers
PATCH v2 4/13 i40e/i40evf: fix I40E_MASK signed shift overflow warnings
Quoted 13 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Jacob Keller
Sent: Wednesday, April 13, 2016 4:08 PM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [PATCH v2 04/13] i40e/i40evf: fixI40E_MASKsigned shift overflow warningsGCC 6 has a new warning which will display when you attempt to left shift a signed value beyond the storage size of the type.
I40E_MASKgenerates a mask value for 32bit registers. Properly typecast the mask value and place the values in parenthesis to prevent macro expansion issues.
Quoted 5 lines
Signed-off-by Jacob Keller <[email protected]>--- drivers/net/ethernet/intel/i40e/i40e_type.h | 2 +- drivers/net/ethernet/intel/i40evf/i40e_type.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Driver compiles without shift warnings with gcc6
PATCH v2 5/13 i40e: make use of BIT() macro to prevent left shift of signed values
In reply to Jacob Keller--- drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 53 +++++++++++------------ 1 file changed, 25 insertions(+), 28 deletions(-)
drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h +25 -28
@@ -78,17 +78,17 @@ struct i40e_aq_desc {#define I40E_AQ_FLAG_EI_SHIFT 14#define I40E_AQ_FLAG_FE_SHIFT 15 -#define I40E_AQ_FLAG_DD (1 << I40E_AQ_FLAG_DD_SHIFT)/* 0x1 */ -#define I40E_AQ_FLAG_CMP (1 << I40E_AQ_FLAG_CMP_SHIFT)/* 0x2 */ -#define I40E_AQ_FLAG_ERR (1 << I40E_AQ_FLAG_ERR_SHIFT)/* 0x4 */ -#define I40E_AQ_FLAG_VFE (1 << I40E_AQ_FLAG_VFE_SHIFT)/* 0x8 */ -#define I40E_AQ_FLAG_LB (1 << I40E_AQ_FLAG_LB_SHIFT)/* 0x200 */ -#define I40E_AQ_FLAG_RD (1 << I40E_AQ_FLAG_RD_SHIFT)/* 0x400 */ -#define I40E_AQ_FLAG_VFC (1 << I40E_AQ_FLAG_VFC_SHIFT)/* 0x800 */ -#define I40E_AQ_FLAG_BUF (1 << I40E_AQ_FLAG_BUF_SHIFT)/* 0x1000 */ -#define I40E_AQ_FLAG_SI (1 << I40E_AQ_FLAG_SI_SHIFT)/* 0x2000 */ -#define I40E_AQ_FLAG_EI (1 << I40E_AQ_FLAG_EI_SHIFT)/* 0x4000 */ -#define I40E_AQ_FLAG_FE (1 << I40E_AQ_FLAG_FE_SHIFT)/* 0x8000 */ +#define I40E_AQ_FLAG_DD BIT(I40E_AQ_FLAG_DD_SHIFT)/* 0x1 */ +#define I40E_AQ_FLAG_CMP BIT(I40E_AQ_FLAG_CMP_SHIFT)/* 0x2 */ +#define I40E_AQ_FLAG_ERR BIT(I40E_AQ_FLAG_ERR_SHIFT)/* 0x4 */ +#define I40E_AQ_FLAG_VFE BIT(I40E_AQ_FLAG_VFE_SHIFT)/* 0x8 */ +#define I40E_AQ_FLAG_LB BIT(I40E_AQ_FLAG_LB_SHIFT)/* 0x200 */ +#define I40E_AQ_FLAG_RD BIT(I40E_AQ_FLAG_RD_SHIFT)/* 0x400 */ +#define I40E_AQ_FLAG_VFC BIT(I40E_AQ_FLAG_VFC_SHIFT)/* 0x800 */ +#define I40E_AQ_FLAG_BUF BIT(I40E_AQ_FLAG_BUF_SHIFT)/* 0x1000 */ +#define I40E_AQ_FLAG_SI BIT(I40E_AQ_FLAG_SI_SHIFT)/* 0x2000 */ +#define I40E_AQ_FLAG_EI BIT(I40E_AQ_FLAG_EI_SHIFT)/* 0x4000 */ +#define I40E_AQ_FLAG_FE BIT(I40E_AQ_FLAG_FE_SHIFT)/* 0x8000 */ /* error codes */ enum i40e_admin_queue_err {
@@ -1653,11 +1653,11 @@ enum i40e_aq_phy_type {enum i40e_aq_link_speed {I40E_LINK_SPEED_UNKNOWN =0 , -I40E_LINK_SPEED_100MB = (1 <<I40E_LINK_SPEED_100MB_SHIFT ), -I40E_LINK_SPEED_1GB = (1 <<I40E_LINK_SPEED_1000MB_SHIFT ), -I40E_LINK_SPEED_10GB = (1 <<I40E_LINK_SPEED_10GB_SHIFT ), -I40E_LINK_SPEED_40GB = (1 <<I40E_LINK_SPEED_40GB_SHIFT ), -I40E_LINK_SPEED_20GB = (1 <<I40E_LINK_SPEED_20GB_SHIFT ) +I40E_LINK_SPEED_100MB =BIT (I40E_LINK_SPEED_100MB_SHIFT ), +I40E_LINK_SPEED_1GB =BIT (I40E_LINK_SPEED_1000MB_SHIFT ), +I40E_LINK_SPEED_10GB =BIT (I40E_LINK_SPEED_10GB_SHIFT ), +I40E_LINK_SPEED_40GB =BIT (I40E_LINK_SPEED_40GB_SHIFT ), +I40E_LINK_SPEED_20GB =BIT (I40E_LINK_SPEED_20GB_SHIFT ) };struct i40e_aqc_module_desc {
@@ -1928,9 +1928,9 @@ I40E_CHECK_CMD_LENGTH(i40e_aqc_nvm_config_write);/* Used for 0x0704 as well as for 0x0705 commands */ #define I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT 1#define I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_MASK \ - (1 << I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT) + BIT(I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT)#define I40E_AQ_ANVM_FEATURE 0 -#define I40E_AQ_ANVM_IMMEDIATE_FIELD (1 << FEATURE_OR_IMMEDIATE_SHIFT) +#define I40E_AQ_ANVM_IMMEDIATE_FIELD BIT(FEATURE_OR_IMMEDIATE_SHIFT)struct i40e_aqc_nvm_config_data_feature {__le16 feature_id;#define I40E_AQ_ANVM_FEATURE_OPTION_OEM_ONLY 0x01
@@ -2227,13 +2227,11 @@ I40E_CHECK_STRUCT_LEN(0x20, i40e_aqc_get_cee_dcb_cfg_resp);*/ struct i40e_aqc_lldp_set_local_mib {#define SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT 0 -#define SET_LOCAL_MIB_AC_TYPE_DCBX_MASK (1 << SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT) -#define SET_LOCAL_MIB_AC_TYPE_DCBX_MASK (1 << \ - SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT) +#define SET_LOCAL_MIB_AC_TYPE_DCBX_MASK BIT(SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT)#define SET_LOCAL_MIB_AC_TYPE_LOCAL_MIB 0x0#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_SHIFT (1) -#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_MASK (1 << \ - SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_SHIFT) +#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_MASK \ + BIT(SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_SHIFT)#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS 0x1u8 type;u8 reserved0;
@@ -2251,7 +2249,7 @@ I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_set_local_mib);struct i40e_aqc_lldp_stop_start_specific_agent {#define I40E_AQC_START_SPECIFIC_AGENT_SHIFT 0#define I40E_AQC_START_SPECIFIC_AGENT_MASK \ - (1 << I40E_AQC_START_SPECIFIC_AGENT_SHIFT) + BIT(I40E_AQC_START_SPECIFIC_AGENT_SHIFT)u8 command;u8 reserved[15 ]; };
@@ -2304,7 +2302,7 @@ struct i40e_aqc_del_udp_tunnel_completion {I40E_CHECK_CMD_LENGTH (i40e_aqc_del_udp_tunnel_completion);struct i40e_aqc_get_set_rss_key { -#define I40E_AQC_SET_RSS_KEY_VSI_VALID (0x1 << 15) +#define I40E_AQC_SET_RSS_KEY_VSI_VALID BIT(15)#define I40E_AQC_SET_RSS_KEY_VSI_ID_SHIFT 0#define I40E_AQC_SET_RSS_KEY_VSI_ID_MASK (0x3FF << \ I40E_AQC_SET_RSS_KEY_VSI_ID_SHIFT)
@@ -2324,14 +2322,13 @@ struct i40e_aqc_get_set_rss_key_data {I40E_CHECK_STRUCT_LEN (0x34 , i40e_aqc_get_set_rss_key_data);struct i40e_aqc_get_set_rss_lut { -#define I40E_AQC_SET_RSS_LUT_VSI_VALID (0x1 << 15) +#define I40E_AQC_SET_RSS_LUT_VSI_VALID BIT(15)#define I40E_AQC_SET_RSS_LUT_VSI_ID_SHIFT 0#define I40E_AQC_SET_RSS_LUT_VSI_ID_MASK (0x3FF << \ I40E_AQC_SET_RSS_LUT_VSI_ID_SHIFT)__le16 vsi_id;#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT 0 -#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_MASK (0x1 << \ - I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) +#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_MASK BIT(I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT)#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_VSI 0#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_PF 1
Signature · 1 line
2.8.1.102.ga49ec4a
Bowers
PATCH v2 5/13 i40e: make use of BIT() macro to prevent left shift of signed values
Quoted 8 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Jacob Keller
Sent: Wednesday, April 13, 2016 4:08 PM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [PATCH v2 05/13] i40e: make use ofBIT()macro to prevent left shift of signed values
Quoted 5 lines
Signed-off-by Jacob Keller <[email protected]>--- drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 53 +++++++++++---- -------- 1 file changed, 25 insertions(+), 28 deletions(-)
Driver compiles without shift warnings with gcc6
PATCH v2 6/13 i40evf: make use of BIT() macro to avoid signed left shift
In reply to Jacob Keller--- .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 44 +++++++++++----------- 1 file changed, 22 insertions(+), 22 deletions(-)
drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h +22 -22
@@ -78,17 +78,17 @@ struct i40e_aq_desc {#define I40E_AQ_FLAG_EI_SHIFT 14#define I40E_AQ_FLAG_FE_SHIFT 15 -#define I40E_AQ_FLAG_DD (1 << I40E_AQ_FLAG_DD_SHIFT)/* 0x1 */ -#define I40E_AQ_FLAG_CMP (1 << I40E_AQ_FLAG_CMP_SHIFT)/* 0x2 */ -#define I40E_AQ_FLAG_ERR (1 << I40E_AQ_FLAG_ERR_SHIFT)/* 0x4 */ -#define I40E_AQ_FLAG_VFE (1 << I40E_AQ_FLAG_VFE_SHIFT)/* 0x8 */ -#define I40E_AQ_FLAG_LB (1 << I40E_AQ_FLAG_LB_SHIFT)/* 0x200 */ -#define I40E_AQ_FLAG_RD (1 << I40E_AQ_FLAG_RD_SHIFT)/* 0x400 */ -#define I40E_AQ_FLAG_VFC (1 << I40E_AQ_FLAG_VFC_SHIFT)/* 0x800 */ -#define I40E_AQ_FLAG_BUF (1 << I40E_AQ_FLAG_BUF_SHIFT)/* 0x1000 */ -#define I40E_AQ_FLAG_SI (1 << I40E_AQ_FLAG_SI_SHIFT)/* 0x2000 */ -#define I40E_AQ_FLAG_EI (1 << I40E_AQ_FLAG_EI_SHIFT)/* 0x4000 */ -#define I40E_AQ_FLAG_FE (1 << I40E_AQ_FLAG_FE_SHIFT)/* 0x8000 */ +#define I40E_AQ_FLAG_DD BIT(I40E_AQ_FLAG_DD_SHIFT)/* 0x1 */ +#define I40E_AQ_FLAG_CMP BIT(I40E_AQ_FLAG_CMP_SHIFT)/* 0x2 */ +#define I40E_AQ_FLAG_ERR BIT(I40E_AQ_FLAG_ERR_SHIFT)/* 0x4 */ +#define I40E_AQ_FLAG_VFE BIT(I40E_AQ_FLAG_VFE_SHIFT)/* 0x8 */ +#define I40E_AQ_FLAG_LB BIT(I40E_AQ_FLAG_LB_SHIFT)/* 0x200 */ +#define I40E_AQ_FLAG_RD BIT(I40E_AQ_FLAG_RD_SHIFT)/* 0x400 */ +#define I40E_AQ_FLAG_VFC BIT(I40E_AQ_FLAG_VFC_SHIFT)/* 0x800 */ +#define I40E_AQ_FLAG_BUF BIT(I40E_AQ_FLAG_BUF_SHIFT)/* 0x1000 */ +#define I40E_AQ_FLAG_SI BIT(I40E_AQ_FLAG_SI_SHIFT)/* 0x2000 */ +#define I40E_AQ_FLAG_EI BIT(I40E_AQ_FLAG_EI_SHIFT)/* 0x4000 */ +#define I40E_AQ_FLAG_FE BIT(I40E_AQ_FLAG_FE_SHIFT)/* 0x8000 */ /* error codes */ enum i40e_admin_queue_err {
@@ -1650,11 +1650,11 @@ enum i40e_aq_phy_type {enum i40e_aq_link_speed {I40E_LINK_SPEED_UNKNOWN =0 , -I40E_LINK_SPEED_100MB = (1 <<I40E_LINK_SPEED_100MB_SHIFT ), -I40E_LINK_SPEED_1GB = (1 <<I40E_LINK_SPEED_1000MB_SHIFT ), -I40E_LINK_SPEED_10GB = (1 <<I40E_LINK_SPEED_10GB_SHIFT ), -I40E_LINK_SPEED_40GB = (1 <<I40E_LINK_SPEED_40GB_SHIFT ), -I40E_LINK_SPEED_20GB = (1 <<I40E_LINK_SPEED_20GB_SHIFT ) +I40E_LINK_SPEED_100MB =BIT (I40E_LINK_SPEED_100MB_SHIFT ), +I40E_LINK_SPEED_1GB =BIT (I40E_LINK_SPEED_1000MB_SHIFT ), +I40E_LINK_SPEED_10GB =BIT (I40E_LINK_SPEED_10GB_SHIFT ), +I40E_LINK_SPEED_40GB =BIT (I40E_LINK_SPEED_40GB_SHIFT ), +I40E_LINK_SPEED_20GB =BIT (I40E_LINK_SPEED_20GB_SHIFT ) };struct i40e_aqc_module_desc {
@@ -1925,9 +1925,9 @@ I40E_CHECK_CMD_LENGTH(i40e_aqc_nvm_config_write);/* Used for 0x0704 as well as for 0x0705 commands */ #define I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT 1#define I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_MASK \ - (1 << I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT) + BIT(I40E_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT)#define I40E_AQ_ANVM_FEATURE 0 -#define I40E_AQ_ANVM_IMMEDIATE_FIELD (1 << FEATURE_OR_IMMEDIATE_SHIFT) +#define I40E_AQ_ANVM_IMMEDIATE_FIELD BIT(FEATURE_OR_IMMEDIATE_SHIFT)struct i40e_aqc_nvm_config_data_feature {__le16 feature_id;#define I40E_AQ_ANVM_FEATURE_OPTION_OEM_ONLY 0x01
@@ -2196,7 +2196,7 @@ struct i40e_aqc_del_udp_tunnel_completion {I40E_CHECK_CMD_LENGTH (i40e_aqc_del_udp_tunnel_completion);struct i40e_aqc_get_set_rss_key { -#define I40E_AQC_SET_RSS_KEY_VSI_VALID (0x1 << 15) +#define I40E_AQC_SET_RSS_KEY_VSI_VALID BIT(15)#define I40E_AQC_SET_RSS_KEY_VSI_ID_SHIFT 0#define I40E_AQC_SET_RSS_KEY_VSI_ID_MASK (0x3FF << \ I40E_AQC_SET_RSS_KEY_VSI_ID_SHIFT)
@@ -2216,14 +2216,14 @@ struct i40e_aqc_get_set_rss_key_data {I40E_CHECK_STRUCT_LEN (0x34 , i40e_aqc_get_set_rss_key_data);struct i40e_aqc_get_set_rss_lut { -#define I40E_AQC_SET_RSS_LUT_VSI_VALID (0x1 << 15) +#define I40E_AQC_SET_RSS_LUT_VSI_VALID BIT(15)#define I40E_AQC_SET_RSS_LUT_VSI_ID_SHIFT 0#define I40E_AQC_SET_RSS_LUT_VSI_ID_MASK (0x3FF << \ I40E_AQC_SET_RSS_LUT_VSI_ID_SHIFT)__le16 vsi_id;#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT 0 -#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_MASK (0x1 << \ - I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) +#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_MASK \ + BIT(I40E_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT)#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_VSI 0#define I40E_AQC_SET_RSS_LUT_TABLE_TYPE_PF 1
Signature · 1 line
2.8.1.102.ga49ec4a
Bowers
PATCH v2 6/13 i40evf: make use of BIT() macro to avoid signed left shift
Quoted 8 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Jacob Keller
Sent: Wednesday, April 13, 2016 4:08 PM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [PATCH v2 06/13] i40evf: make use ofBIT()macro to avoid signed left shift
Quoted 5 lines
Signed-off-by Jacob Keller <[email protected]>--- .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 44 +++++++++++------ ----- 1 file changed, 22 insertions(+), 22 deletions(-)
Driver compiles without shift warnings with gcc6
PATCH v2 7/13 igb: use BIT() macro or unsigned prefix
In reply to Jacob KellerFor bitshifts, we should make use of the BIT macro when possible, and ensure that other bitshifts are marked as unsigned. This helps prevent signed bitshift errors, and ensures similar style.
Make use of GENMASK and the unsigned postfix where BIT() isn't appropriate.
--- drivers/net/ethernet/intel/igb/e1000_82575.c | 8 +- drivers/net/ethernet/intel/igb/e1000_82575.h | 30 +++---- drivers/net/ethernet/intel/igb/e1000_defines.h | 108 ++++++++++++------------- drivers/net/ethernet/intel/igb/e1000_mac.c | 10 +-- drivers/net/ethernet/intel/igb/e1000_mbx.c | 4 +- drivers/net/ethernet/intel/igb/e1000_nvm.c | 2 +- drivers/net/ethernet/intel/igb/e1000_phy.h | 6 +- drivers/net/ethernet/intel/igb/igb.h | 32 ++++---- drivers/net/ethernet/intel/igb/igb_ethtool.c | 18 ++--- drivers/net/ethernet/intel/igb/igb_main.c | 48 +++++------ drivers/net/ethernet/intel/igb/igb_ptp.c | 6 +- 11 files changed, 136 insertions(+), 136 deletions(-)
drivers/net/ethernet/intel/igb/e1000_82575.c +4 -4
@@ -361,7 +361,7 @@ static s32 igb_init_nvm_params_82575(struct e1000_hw *hw)if (size >15 ) size =15 ; - nvm->word_size =1 << size; + nvm->word_size =BIT (size); nvm->opcode_bits =8 ; nvm->delay_usec =1 ;
@@ -380,7 +380,7 @@ static s32 igb_init_nvm_params_82575(struct e1000_hw *hw) 16 : 8;break ; } -if (nvm->word_size == (1 <<15 )) +if (nvm->word_size ==BIT (15 )) nvm->page_size =128 ; nvm->type = e1000_nvm_eeprom_spi;
@@ -391,7 +391,7 @@ static s32 igb_init_nvm_params_82575(struct e1000_hw *hw) nvm->ops.write = igb_write_nvm_spi; nvm->ops.validate = igb_validate_nvm_checksum; nvm->ops.update = igb_update_nvm_checksum; -if (nvm->word_size < (1 <<15 )) +if (nvm->word_size <BIT (15 )) nvm->ops.read = igb_read_nvm_eerd;else nvm->ops.read = igb_read_nvm_spi;
@@ -2107,7 +2107,7 @@ void igb_vmdq_set_anti_spoofing_pf(struct e1000_hw *hw, bool enable, int pf)/* The PF can spoof - it has to in order to * support emulation mode NICs */ - reg_val ^= (1 << pf |1 << (pf +MAX_NUM_VFS )); + reg_val ^= (BIT (pf) |BIT (pf +MAX_NUM_VFS )); }else { reg_val &= ~(E1000_DTXSWC_MAC_SPOOF_MASK |E1000_DTXSWC_VLAN_SPOOF_MASK );
drivers/net/ethernet/intel/igb/e1000_82575.h +15 -15
@@ -168,16 +168,16 @@ struct e1000_adv_tx_context_desc {#define E1000_DCA_CTRL_DCA_MODE_CB2 0x02/* DCA Mode CB2 */ #define E1000_DCA_RXCTRL_CPUID_MASK 0x0000001F/* Rx CPUID Mask */ -#define E1000_DCA_RXCTRL_DESC_DCA_EN (1 << 5)/* DCA Rx Desc enable */ -#define E1000_DCA_RXCTRL_HEAD_DCA_EN (1 << 6)/* DCA Rx Desc header enable */ -#define E1000_DCA_RXCTRL_DATA_DCA_EN (1 << 7)/* DCA Rx Desc payload enable */ -#define E1000_DCA_RXCTRL_DESC_RRO_EN (1 << 9)/* DCA Rx rd Desc Relax Order */ +#define E1000_DCA_RXCTRL_DESC_DCA_EN BIT(5)/* DCA Rx Desc enable */ +#define E1000_DCA_RXCTRL_HEAD_DCA_EN BIT(6)/* DCA Rx Desc header enable */ +#define E1000_DCA_RXCTRL_DATA_DCA_EN BIT(7)/* DCA Rx Desc payload enable */ +#define E1000_DCA_RXCTRL_DESC_RRO_EN BIT(9)/* DCA Rx rd Desc Relax Order */ #define E1000_DCA_TXCTRL_CPUID_MASK 0x0000001F/* Tx CPUID Mask */ -#define E1000_DCA_TXCTRL_DESC_DCA_EN (1 << 5)/* DCA Tx Desc enable */ -#define E1000_DCA_TXCTRL_DESC_RRO_EN (1 << 9)/* Tx rd Desc Relax Order */ -#define E1000_DCA_TXCTRL_TX_WB_RO_EN (1 << 11)/* Tx Desc writeback RO bit */ -#define E1000_DCA_TXCTRL_DATA_RRO_EN (1 << 13)/* Tx rd data Relax Order */ +#define E1000_DCA_TXCTRL_DESC_DCA_EN BIT(5)/* DCA Tx Desc enable */ +#define E1000_DCA_TXCTRL_DESC_RRO_EN BIT(9)/* Tx rd Desc Relax Order */ +#define E1000_DCA_TXCTRL_TX_WB_RO_EN BIT(11)/* Tx Desc writeback RO bit */ +#define E1000_DCA_TXCTRL_DATA_RRO_EN BIT(13)/* Tx rd data Relax Order */ /* Additional DCA related definitions, note change in position of CPUID */ #define E1000_DCA_TXCTRL_CPUID_MASK_82576 0xFF000000/* Tx CPUID Mask */
@@ -186,8 +186,8 @@ struct e1000_adv_tx_context_desc {#define E1000_DCA_RXCTRL_CPUID_SHIFT 24/* Rx CPUID now in the last byte */ /* ETQF register bit definitions */ -#define E1000_ETQF_FILTER_ENABLE (1 << 26) -#define E1000_ETQF_1588 (1 << 30) +#define E1000_ETQF_FILTER_ENABLE BIT(26) +#define E1000_ETQF_1588 BIT(30)/* FTQF register bit definitions */ #define E1000_FTQF_VF_BP 0x00008000
@@ -203,16 +203,16 @@ struct e1000_adv_tx_context_desc {#define E1000_DTXSWC_VLAN_SPOOF_MASK 0x0000FF00/* Per VF VLAN spoof control */ #define E1000_DTXSWC_LLE_MASK 0x00FF0000/* Per VF Local LB enables */ #define E1000_DTXSWC_VLAN_SPOOF_SHIFT 8 -#define E1000_DTXSWC_VMDQ_LOOPBACK_EN (1 << 31)/* global VF LB enable */ +#define E1000_DTXSWC_VMDQ_LOOPBACK_EN BIT(31)/* global VF LB enable */ /* Easy defines for setting default pool, would normally be left a zero */ #define E1000_VT_CTL_DEFAULT_POOL_SHIFT 7#define E1000_VT_CTL_DEFAULT_POOL_MASK (0x7 << E1000_VT_CTL_DEFAULT_POOL_SHIFT)/* Other useful VMD_CTL register defines */ -#define E1000_VT_CTL_IGNORE_MAC (1 << 28) -#define E1000_VT_CTL_DISABLE_DEF_POOL (1 << 29) -#define E1000_VT_CTL_VM_REPL_EN (1 << 30) +#define E1000_VT_CTL_IGNORE_MAC BIT(28) +#define E1000_VT_CTL_DISABLE_DEF_POOL BIT(29) +#define E1000_VT_CTL_VM_REPL_EN BIT(30)/* Per VM Offload register setup */ #define E1000_VMOLR_RLPML_MASK 0x00003FFF/* Long Packet Maximum Length mask */
@@ -252,7 +252,7 @@ struct e1000_adv_tx_context_desc {#define E1000_DTXCTL_MDP_EN 0x0020#define E1000_DTXCTL_SPOOF_INT 0x0040 -#define E1000_EEPROM_PCS_AUTONEG_DISABLE_BIT (1 << 14) +#define E1000_EEPROM_PCS_AUTONEG_DISABLE_BIT BIT(14)#define ALL_QUEUES 0xFFFF
drivers/net/ethernet/intel/igb/e1000_defines.h +54 -54
127 lines not on this page · raw message
drivers/net/ethernet/intel/igb/e1000_mac.c +5 -5
@@ -212,7 +212,7 @@ s32 igb_vfta_set(struct e1000_hw *hw, u32 vlan, u32 vind,* bits[4-0]: which bit in the register */ regidx = vlan /32 ; - vfta_delta =1 << (vlan %32 ); + vfta_delta =BIT (vlan %32 ); vfta = adapter->shadow_vfta[regidx];/* vfta_delta represents the difference between the current value
@@ -243,12 +243,12 @@ s32 igb_vfta_set(struct e1000_hw *hw, u32 vlan, u32 vind, bits =rd32 (E1000_VLVF (vlvf_index));/* set the pool bit */ - bits |=1 << (E1000_VLVF_POOLSEL_SHIFT + vind); + bits |=BIT (E1000_VLVF_POOLSEL_SHIFT + vind);if (vlan_on) goto vlvf_update;/* clear the pool bit */ - bits ^=1 << (E1000_VLVF_POOLSEL_SHIFT + vind); + bits ^=BIT (E1000_VLVF_POOLSEL_SHIFT + vind);if (!(bits &E1000_VLVF_POOLSEL_MASK )) {/* Clear VFTA first, then disable VLVF. Otherwise
@@ -427,7 +427,7 @@ void igb_mta_set(struct e1000_hw *hw, u32 hash_value) mta =array_rd32 (E1000_MTA , hash_reg); - mta |= (1 << hash_bit); + mta |=BIT (hash_bit);array_wr32 (E1000_MTA , hash_reg, mta);wrfl ();
@@ -527,7 +527,7 @@ void igb_update_mc_addr_list(struct e1000_hw *hw, hash_reg = (hash_value >>5 ) & (hw->mac.mta_reg_count -1 ); hash_bit = hash_value &0x1F ; - hw->mac.mta_shadow[hash_reg] |= (1 << hash_bit); + hw->mac.mta_shadow[hash_reg] |=BIT (hash_bit); mc_addr_list += (ETH_ALEN ); }
drivers/net/ethernet/intel/igb/e1000_mbx.c +2 -2
@@ -302,9 +302,9 @@ static s32 igb_check_for_rst_pf(struct e1000_hw *hw, u16 vf_number)u32 vflre =rd32 (E1000_VFLRE );s32 ret_val = -E1000_ERR_MBX ; -if (vflre & (1 << vf_number)) { +if (vflre &BIT (vf_number)) { ret_val =0 ; -wr32 (E1000_VFLRE , (1 << vf_number)); +wr32 (E1000_VFLRE ,BIT (vf_number)); hw->mbx.stats.rsts++; }
drivers/net/ethernet/intel/igb/e1000_nvm.c +1 -1
@@ -72,7 +72,7 @@ static void igb_shift_out_eec_bits(struct e1000_hw *hw, u16 data, u16 count)u32 eecd =rd32 (E1000_EECD );u32 mask; - mask =0x01 << (count -1 ); + mask =1u << (count -1 );if (nvm->type == e1000_nvm_eeprom_spi) eecd |=E1000_EECD_DO ;
drivers/net/ethernet/intel/igb/e1000_phy.h +3 -3
@@ -91,10 +91,10 @@ s32 igb_check_polarity_m88(struct e1000_hw *hw);#define I82580_ADDR_REG 16#define I82580_CFG_REG 22 -#define I82580_CFG_ASSERT_CRS_ON_TX (1 << 15) -#define I82580_CFG_ENABLE_DOWNSHIFT (3 << 10)/* auto downshift 100/10 */ +#define I82580_CFG_ASSERT_CRS_ON_TX BIT(15) +#define I82580_CFG_ENABLE_DOWNSHIFT (3u << 10)/* auto downshift 100/10 */ #define I82580_CTRL_REG 23 -#define I82580_CTRL_DOWNSHIFT_MASK (7 << 10) +#define I82580_CTRL_DOWNSHIFT_MASK (7u << 10)/* 82580 specific PHY registers */ #define I82580_PHY_CTRL_2 18
drivers/net/ethernet/intel/igb/igb.h +16 -16
@@ -169,7 +169,7 @@ enum igb_tx_flags {* maintain a power of two alignment we have to limit ourselves to 32K. */ #define IGB_MAX_TXD_PWR 15 -#define IGB_MAX_DATA_PER_TXD (1 << IGB_MAX_TXD_PWR) +#define IGB_MAX_DATA_PER_TXD (1u << IGB_MAX_TXD_PWR)/* Tx Descriptors needed, worst case */ #define TXD_USE_COUNT (S ) DIV_ROUND_UP((S), IGB_MAX_DATA_PER_TXD)
@@ -466,21 +466,21 @@ struct igb_adapter {u16 eee_advert; }; -#define IGB_FLAG_HAS_MSI (1 << 0) -#define IGB_FLAG_DCA_ENABLED (1 << 1) -#define IGB_FLAG_QUAD_PORT_A (1 << 2) -#define IGB_FLAG_QUEUE_PAIRS (1 << 3) -#define IGB_FLAG_DMAC (1 << 4) -#define IGB_FLAG_PTP (1 << 5) -#define IGB_FLAG_RSS_FIELD_IPV4_UDP (1 << 6) -#define IGB_FLAG_RSS_FIELD_IPV6_UDP (1 << 7) -#define IGB_FLAG_WOL_SUPPORTED (1 << 8) -#define IGB_FLAG_NEED_LINK_UPDATE (1 << 9) -#define IGB_FLAG_MEDIA_RESET (1 << 10) -#define IGB_FLAG_MAS_CAPABLE (1 << 11) -#define IGB_FLAG_MAS_ENABLE (1 << 12) -#define IGB_FLAG_HAS_MSIX (1 << 13) -#define IGB_FLAG_EEE (1 << 14) +#define IGB_FLAG_HAS_MSI BIT(0) +#define IGB_FLAG_DCA_ENABLED BIT(1) +#define IGB_FLAG_QUAD_PORT_A BIT(2) +#define IGB_FLAG_QUEUE_PAIRS BIT(3) +#define IGB_FLAG_DMAC BIT(4) +#define IGB_FLAG_PTP BIT(5) +#define IGB_FLAG_RSS_FIELD_IPV4_UDP BIT(6) +#define IGB_FLAG_RSS_FIELD_IPV6_UDP BIT(7) +#define IGB_FLAG_WOL_SUPPORTED BIT(8) +#define IGB_FLAG_NEED_LINK_UPDATE BIT(9) +#define IGB_FLAG_MEDIA_RESET BIT(10) +#define IGB_FLAG_MAS_CAPABLE BIT(11) +#define IGB_FLAG_MAS_ENABLE BIT(12) +#define IGB_FLAG_HAS_MSIX BIT(13) +#define IGB_FLAG_EEE BIT(14)#define IGB_FLAG_VLAN_PROMISC BIT(15)/* Media Auto Sense */
drivers/net/ethernet/intel/igb/igb_ethtool.c +9 -9
@@ -466,7 +466,7 @@ static void igb_get_regs(struct net_device *netdev,memset (p,0 ,IGB_REGS_LEN *sizeof (u32)); - regs->version = (1 <<24 ) | (hw->revision_id <<16 ) | hw->device_id; + regs->version = (1u <<24 ) | (hw->revision_id <<16 ) | hw->device_id;/* General Registers */ regs_buff[0 ] =rd32 (E1000_CTRL );
@@ -1448,7 +1448,7 @@ static int igb_intr_test(struct igb_adapter *adapter, u64 *data)/* Test each interrupt */ for (; i <31 ; i++) {/* Interrupt to test */ - mask =1 << i; + mask =BIT (i);if (!(mask & ics_mask))continue ;
@@ -2411,19 +2411,19 @@ static int igb_get_ts_info(struct net_device *dev,SOF_TIMESTAMPING_RAW_HARDWARE ; info->tx_types = - (1 <<HWTSTAMP_TX_OFF ) | - (1 <<HWTSTAMP_TX_ON ); +BIT (HWTSTAMP_TX_OFF ) | +BIT (HWTSTAMP_TX_ON ); - info->rx_filters =1 <<HWTSTAMP_FILTER_NONE ; + info->rx_filters =BIT (HWTSTAMP_FILTER_NONE );/* 82576 does not support timestamping all packets. */ if (adapter->hw.mac.type >= e1000_82580) - info->rx_filters |=1 <<HWTSTAMP_FILTER_ALL ; + info->rx_filters |=BIT (HWTSTAMP_FILTER_ALL );else info->rx_filters |= - (1 <<HWTSTAMP_FILTER_PTP_V1_L4_SYNC ) | - (1 <<HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ ) | - (1 <<HWTSTAMP_FILTER_PTP_V2_EVENT ); +BIT (HWTSTAMP_FILTER_PTP_V1_L4_SYNC ) | +BIT (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ ) | +BIT (HWTSTAMP_FILTER_PTP_V2_EVENT );return 0 ;default :
drivers/net/ethernet/intel/igb/igb_main.c +24 -24
144 lines not on this page · raw message
drivers/net/ethernet/intel/igb/igb_ptp.c +3 -3
@@ -69,9 +69,9 @@#define IGB_SYSTIM_OVERFLOW_PERIOD (HZ * 60 * 9)#define IGB_PTP_TX_TIMEOUT (HZ * 15) -#define INCPERIOD_82576 (1 << E1000_TIMINCA_16NS_SHIFT) -#define INCVALUE_82576_MASK ((1 << E1000_TIMINCA_16NS_SHIFT) - 1) -#define INCVALUE_82576 (16 << IGB_82576_TSYNC_SHIFT) +#define INCPERIOD_82576 BIT(E1000_TIMINCA_16NS_SHIFT) +#define INCVALUE_82576_MASK GENMASK(E1000_TIMINCA_16NS_SHIFT - 1, 0) +#define INCVALUE_82576 (16u << IGB_82576_TSYNC_SHIFT)#define IGB_NBITS_82580 40static void igb_ptp_tx_hwtstamp (struct igb_adapter *adapter);
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 8/13 igb: make igb_update_pf_vlvf static
In reply to Jacob Keller--- drivers/net/ethernet/intel/igb/igb_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/ethernet/intel/igb/igb_main.c +1 -1
@@ -6027,7 +6027,7 @@ static int igb_find_vlvf_entry(struct e1000_hw *hw, u32 vlan)return idx; } -void igb_update_pf_vlvf (struct igb_adapter *adapter,u32 vid) +static void igb_update_pf_vlvf (struct igb_adapter *adapter,u32 vid) {struct e1000_hw *hw = &adapter->hw;u32 bits, pf_id;
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 9/13 igbvf: remove unused variable and dead code
In reply to Jacob KellerThe variable rdlen is set but never used, and thus setting it is dead code. Remove it.
--- drivers/net/ethernet/intel/igbvf/netdev.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/net/ethernet/intel/igbvf/netdev.c +1 -3
@@ -1367,7 +1367,7 @@ static void igbvf_configure_rx(struct igbvf_adapter *adapter)struct e1000_hw *hw = &adapter->hw;struct igbvf_ring *rx_ring = adapter->rx_ring;u64 rdba; -u32 rdlen, rxdctl; +u32 rxdctl;/* disable receives */ rxdctl =er32 (RXDCTL (0 ));
@@ -1375,8 +1375,6 @@ static void igbvf_configure_rx(struct igbvf_adapter *adapter)e1e_flush ();msleep (10 ); - rdlen = rx_ring->count *sizeof (union e1000_adv_rx_desc ); -/* Setup the HW Rx Head and Tail Descriptor Pointers and * the Base and Length of the Rx Descriptor Ring */
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 10/13 igbvf: use BIT() macro instead of shifts
In reply to Jacob KellerTo prevent signed bitshift issues, and improve code readability, use the BIT() macro. Also make use of GENMASK or the unsigned postfix where this is more appropriate than BIT()
--- drivers/net/ethernet/intel/igbvf/defines.h | 2 +- drivers/net/ethernet/intel/igbvf/ethtool.c | 3 ++- drivers/net/ethernet/intel/igbvf/igbvf.h | 4 ++-- drivers/net/ethernet/intel/igbvf/netdev.c | 10 +++++----- drivers/net/ethernet/intel/igbvf/vf.c | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-)
drivers/net/ethernet/intel/igbvf/defines.h +1 -1
@@ -113,7 +113,7 @@#define E1000_RXDCTL_QUEUE_ENABLE 0x02000000/* Enable specific Rx Que */ /* Direct Cache Access (DCA) definitions */ -#define E1000_DCA_TXCTRL_TX_WB_RO_EN (1 << 11)/* Tx Desc writeback RO bit */ +#define E1000_DCA_TXCTRL_TX_WB_RO_EN BIT(11)/* Tx Desc writeback RO bit */ #define E1000_VF_INIT_TIMEOUT 200/* Number of retries to clear RSTI */
drivers/net/ethernet/intel/igbvf/ethtool.c +2 -1
@@ -154,7 +154,8 @@ static void igbvf_get_regs(struct net_device *netdev,memset (p,0 ,IGBVF_REGS_LEN *sizeof (u32)); - regs->version = (1 <<24 ) | (adapter->pdev->revision <<16 ) | + regs->version = (1u <<24 ) | + (adapter->pdev->revision <<16 ) | adapter->pdev->device; regs_buff[0 ] =er32 (CTRL );
drivers/net/ethernet/intel/igbvf/igbvf.h +2 -2
@@ -287,8 +287,8 @@ struct igbvf_info { };/* hardware capability, feature, and workaround flags */ -#define IGBVF_FLAG_RX_CSUM_DISABLED (1 << 0) -#define IGBVF_FLAG_RX_LB_VLAN_BSWAP (1 << 1) +#define IGBVF_FLAG_RX_CSUM_DISABLED BIT(0) +#define IGBVF_FLAG_RX_LB_VLAN_BSWAP BIT(1)#define IGBVF_RX_DESC_ADV (R , i) \ (&((((R).desc))[i].rx_desc))#define IGBVF_TX_DESC_ADV (R , i) \
drivers/net/ethernet/intel/igbvf/netdev.c +5 -5
@@ -964,7 +964,7 @@ static void igbvf_assign_vector(struct igbvf_adapter *adapter, int rx_queue, ivar = ivar &0xFFFFFF00 ; ivar |= msix_vector |E1000_IVAR_VALID ; } - adapter->rx_ring[rx_queue].eims_value =1 << msix_vector; + adapter->rx_ring[rx_queue].eims_value =BIT (msix_vector);array_ew32 (IVAR0 , index, ivar); }if (tx_queue >IGBVF_NO_QUEUE ) {
@@ -979,7 +979,7 @@ static void igbvf_assign_vector(struct igbvf_adapter *adapter, int rx_queue, ivar = ivar &0xFFFF00FF ; ivar |= (msix_vector |E1000_IVAR_VALID ) <<8 ; } - adapter->tx_ring[tx_queue].eims_value =1 << msix_vector; + adapter->tx_ring[tx_queue].eims_value =BIT (msix_vector);array_ew32 (IVAR0 , index, ivar); } }
@@ -1014,8 +1014,8 @@ static void igbvf_configure_msix(struct igbvf_adapter *adapter)ew32 (IVAR_MISC , tmp); - adapter->eims_enable_mask = (1 << (vector)) -1 ; - adapter->eims_other =1 << (vector -1 ); + adapter->eims_enable_mask =GENMASK (vector -1 ,0 ); + adapter->eims_other =BIT (vector -1 );e1e_flush (); }
@@ -2089,7 +2089,7 @@ static int igbvf_maybe_stop_tx(struct net_device *netdev, int size) }#define IGBVF_MAX_TXD_PWR 16 -#define IGBVF_MAX_DATA_PER_TXD (1 << IGBVF_MAX_TXD_PWR) +#define IGBVF_MAX_DATA_PER_TXD (1u << IGBVF_MAX_TXD_PWR) static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter, struct igbvf_ring *tx_ring,
drivers/net/ethernet/intel/igbvf/vf.c +1 -1
@@ -266,7 +266,7 @@ static s32 e1000_set_vfta_vf(struct e1000_hw *hw, u16 vid, bool set) msgbuf[1 ] = vid;/* Setting the 8 bit field MSG INFO to true indicates "add" */ if (set) - msgbuf[0 ] |=1 <<E1000_VT_MSGINFO_SHIFT ; + msgbuf[0 ] |=BIT (E1000_VT_MSGINFO_SHIFT ); mbx->ops.write_posted (hw, msgbuf,2 );
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 11/13 e1000e: use BIT() macro for bit defines
In reply to Jacob KellerThis prevents signed bitshift issues when the shift would overwrite the signed bit, and prevents making this mistake in the future when copying and modifying code.
Use GENMASK or the unsigned postfix for cases which aren't suitable for BIT() macro.
--- drivers/net/ethernet/intel/e1000e/80003es2lan.c | 12 +-- drivers/net/ethernet/intel/e1000e/82571.c | 30 +++---- drivers/net/ethernet/intel/e1000e/e1000.h | 106 ++++++++++++------------ drivers/net/ethernet/intel/e1000e/ethtool.c | 43 +++++----- drivers/net/ethernet/intel/e1000e/ich8lan.c | 44 +++++----- drivers/net/ethernet/intel/e1000e/mac.c | 2 +- drivers/net/ethernet/intel/e1000e/netdev.c | 28 +++---- drivers/net/ethernet/intel/e1000e/nvm.c | 2 +- drivers/net/ethernet/intel/e1000e/phy.c | 4 +- drivers/net/ethernet/intel/e1000e/phy.h | 10 +-- 10 files changed, 141 insertions(+), 140 deletions(-)
drivers/net/ethernet/intel/e1000e/80003es2lan.c +6 -6
@@ -121,7 +121,7 @@ static s32 e1000_init_nvm_params_80003es2lan(struct e1000_hw *hw)/* EEPROM access above 16k is unsupported */ if (size >14 ) size =14 ; - nvm->word_size =1 << size; + nvm->word_size =BIT (size);return 0 ; }
@@ -845,27 +845,27 @@ static void e1000_initialize_hw_bits_80003es2lan(struct e1000_hw *hw)/* Transmit Descriptor Control 0 */ reg =er32 (TXDCTL (0 )); - reg |= (1 <<22 ); + reg |=BIT (22 );ew32 (TXDCTL (0 ), reg);/* Transmit Descriptor Control 1 */ reg =er32 (TXDCTL (1 )); - reg |= (1 <<22 ); + reg |=BIT (22 );ew32 (TXDCTL (1 ), reg);/* Transmit Arbitration Control 0 */ reg =er32 (TARC (0 )); reg &= ~(0xF <<27 );/* 30:27 */ if (hw->phy.media_type != e1000_media_type_copper) - reg &= ~(1 <<20 ); + reg &= ~BIT (20 );ew32 (TARC (0 ), reg);/* Transmit Arbitration Control 1 */ reg =er32 (TARC (1 ));if (er32 (TCTL ) &E1000_TCTL_MULR ) - reg &= ~(1 <<28 ); + reg &= ~BIT (28 );else - reg |= (1 <<28 ); + reg |=BIT (28 );ew32 (TARC (1 ), reg);/* Disable IPv6 extension header parsing because some malformed
drivers/net/ethernet/intel/e1000e/82571.c +15 -15
@@ -185,7 +185,7 @@ static s32 e1000_init_nvm_params_82571(struct e1000_hw *hw)/* EEPROM access above 16k is unsupported */ if (size >14 ) size =14 ; - nvm->word_size =1 << size; + nvm->word_size =BIT (size);break ; }
@@ -1163,12 +1163,12 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)/* Transmit Descriptor Control 0 */ reg =er32 (TXDCTL (0 )); - reg |= (1 <<22 ); + reg |=BIT (22 );ew32 (TXDCTL (0 ), reg);/* Transmit Descriptor Control 1 */ reg =er32 (TXDCTL (1 )); - reg |= (1 <<22 ); + reg |=BIT (22 );ew32 (TXDCTL (1 ), reg);/* Transmit Arbitration Control 0 */
@@ -1177,11 +1177,11 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)switch (hw->mac.type) {case e1000_82571:case e1000_82572: - reg |= (1 <<23 ) | (1 <<24 ) | (1 <<25 ) | (1 <<26 ); + reg |=BIT (23 ) |BIT (24 ) |BIT (25 ) |BIT (26 );break ;case e1000_82574:case e1000_82583: - reg |= (1 <<26 ); + reg |=BIT (26 );break ;default :break ;
@@ -1193,12 +1193,12 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)switch (hw->mac.type) {case e1000_82571:case e1000_82572: - reg &= ~((1 <<29 ) | (1 <<30 )); - reg |= (1 <<22 ) | (1 <<24 ) | (1 <<25 ) | (1 <<26 ); + reg &= ~(BIT (29 ) |BIT (30 )); + reg |=BIT (22 ) |BIT (24 ) |BIT (25 ) |BIT (26 );if (er32 (TCTL ) &E1000_TCTL_MULR ) - reg &= ~(1 <<28 ); + reg &= ~BIT (28 );else - reg |= (1 <<28 ); + reg |=BIT (28 );ew32 (TARC (1 ), reg);break ;default :
@@ -1211,7 +1211,7 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)case e1000_82574:case e1000_82583: reg =er32 (CTRL ); - reg &= ~(1 <<29 ); + reg &= ~BIT (29 );ew32 (CTRL , reg);break ;default :
@@ -1224,8 +1224,8 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)case e1000_82574:case e1000_82583: reg =er32 (CTRL_EXT ); - reg &= ~(1 <<23 ); - reg |= (1 <<22 ); + reg &= ~BIT (23 ); + reg |=BIT (22 );ew32 (CTRL_EXT , reg);break ;default :
@@ -1261,7 +1261,7 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)case e1000_82574:case e1000_82583: reg =er32 (GCR ); - reg |= (1 <<22 ); + reg |=BIT (22 );ew32 (GCR , reg);/* Workaround for hardware errata.
@@ -1308,8 +1308,8 @@ static void e1000_clear_vfta_82571(struct e1000_hw *hw) E1000_VFTA_ENTRY_SHIFT) &E1000_VFTA_ENTRY_MASK ; vfta_bit_in_reg = -1 << (hw->mng_cookie.vlan_id & -E1000_VFTA_ENTRY_BIT_SHIFT_MASK ); +BIT (hw->mng_cookie.vlan_id & +E1000_VFTA_ENTRY_BIT_SHIFT_MASK ); }break ;default :
drivers/net/ethernet/intel/e1000e/e1000.h +53 -53
124 lines not on this page · raw message
drivers/net/ethernet/intel/e1000e/ethtool.c +22 -21
93 lines not on this page · raw message
drivers/net/ethernet/intel/e1000e/ich8lan.c +22 -22
148 lines not on this page · raw message
drivers/net/ethernet/intel/e1000e/mac.c +1 -1
@@ -346,7 +346,7 @@ void e1000e_update_mc_addr_list_generic(struct e1000_hw *hw, hash_reg = (hash_value >>5 ) & (hw->mac.mta_reg_count -1 ); hash_bit = hash_value &0x1F ; - hw->mac.mta_shadow[hash_reg] |= (1 << hash_bit); + hw->mac.mta_shadow[hash_reg] |=BIT (hash_bit); mc_addr_list += (ETH_ALEN ); }
drivers/net/ethernet/intel/e1000e/netdev.c +14 -14
@@ -317,8 +317,8 @@ static void e1000e_dump(struct e1000_adapter *adapter)else next_desc ="" ; pr_info("T%c[0x%03X] %016llX %016llX %016llX %04X %3X %016llX %p%s\n", - (!(le64_to_cpu(u0->b) & (1 << 29)) ? 'l' : - ((le64_to_cpu(u0->b) & (1 << 20)) ? 'd' : 'c')), + (!(le64_to_cpu(u0->b) & BIT(29)) ? 'l' : + ((le64_to_cpu(u0->b) & BIT(20)) ? 'd' : 'c')), i, (unsigned long long)le64_to_cpu(u0->a), (unsigned long long)le64_to_cpu(u0->b),
@@ -2018,7 +2018,7 @@ static void e1000_configure_msix(struct e1000_adapter *adapter) adapter->eiac_mask |=E1000_IMS_OTHER ;/* Cause Tx interrupts on every write back */ - ivar |= (1 <<31 ); + ivar |=BIT (31 );ew32 (IVAR , ivar);
@@ -2709,7 +2709,7 @@ static int e1000_vlan_rx_add_vid(struct net_device *netdev,if (adapter->flags &FLAG_HAS_HW_VLAN_FILTER ) { index = (vid >>5 ) &0x7F ; vfta =E1000_READ_REG_ARRAY (hw,E1000_VFTA , index); - vfta |= (1 << (vid &0x1F )); + vfta |=BIT ((vid &0x1F )); hw->mac.ops.write_vfta (hw, index, vfta); }
@@ -2737,7 +2737,7 @@ static int e1000_vlan_rx_kill_vid(struct net_device *netdev,if (adapter->flags &FLAG_HAS_HW_VLAN_FILTER ) { index = (vid >>5 ) &0x7F ; vfta =E1000_READ_REG_ARRAY (hw,E1000_VFTA , index); - vfta &= ~(1 << (vid &0x1F )); + vfta &= ~BIT ((vid &0x1F )); hw->mac.ops.write_vfta (hw, index, vfta); }
@@ -2878,7 +2878,7 @@ static void e1000_init_manageability_pt(struct e1000_adapter *adapter)/* Enable this decision filter in MANC2H */ if (mdef) - manc2h |= (1 << i); + manc2h |=BIT (i); j |= mdef; }
@@ -2891,7 +2891,7 @@ static void e1000_init_manageability_pt(struct e1000_adapter *adapter)if (er32 (MDEF (i)) ==0 ) {ew32 (MDEF (i), (E1000_MDEF_PORT_623 |E1000_MDEF_PORT_664 )); - manc2h |= (1 <<1 ); + manc2h |=BIT (1 ); j++;break ; }
@@ -2971,7 +2971,7 @@ static void e1000_configure_tx(struct e1000_adapter *adapter)/* set the speed mode bit, we'll clear it if we're not at * gigabit link later */ -#define SPEED_MODE_BIT (1 << 21) +#define SPEED_MODE_BIT BIT(21) tarc |=SPEED_MODE_BIT ;ew32 (TARC (0 ), tarc); }
@@ -3071,12 +3071,12 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter)e1e_rphy (hw,PHY_REG (770 ,26 ), &phy_data); phy_data &=0xfff8 ; - phy_data |= (1 <<2 ); + phy_data |=BIT (2 );e1e_wphy (hw,PHY_REG (770 ,26 ), phy_data);e1e_rphy (hw,22 , &phy_data); phy_data &=0x0fff ; - phy_data |= (1 <<14 ); + phy_data |=BIT (14 );e1e_wphy (hw,0x10 ,0x2823 );e1e_wphy (hw,0x11 ,0x0003 );e1e_wphy (hw,22 , phy_data);
@@ -3503,8 +3503,8 @@ s32 e1000e_get_base_timinca(struct e1000_adapter *adapter, u32 *timinca) !(er32(TSYNCRXCTL) & E1000_TSYNCRXCTL_ENABLED)) {u32 fextnvm7 =er32 (FEXTNVM7 ); -if (!(fextnvm7 & (1 <<0 ))) { -ew32 (FEXTNVM7 , fextnvm7 | (1 <<0 )); +if (!(fextnvm7 &BIT (0 ))) { +ew32 (FEXTNVM7 , fextnvm7 |BIT (0 ));e1e_flush (); } }
@@ -3828,7 +3828,7 @@ static void e1000_flush_rx_ring(struct e1000_adapter *adapter)/* update thresholds: prefetch threshold to 31, host threshold to 1 * and make sure the granularity is "descriptors" and not "cache lines" */ - rxdctl |= (0x1F | (1 <<8 ) |E1000_RXDCTL_THRESH_UNIT_DESC ); + rxdctl |= (0x1F |BIT (8 ) |E1000_RXDCTL_THRESH_UNIT_DESC );ew32 (RXDCTL (0 ), rxdctl);/* momentarily enable the RX ring for the changes to take effect */
@@ -6850,7 +6850,7 @@ static void e1000_eeprom_checks(struct e1000_adapter *adapter) ret_val =e1000_read_nvm (hw,NVM_INIT_CONTROL2_REG ,1 , &buf);le16_to_cpus (&buf); -if (!ret_val && (!(buf & (1 <<0 )))) { +if (!ret_val && (!(buf &BIT (0 )))) {/* Deep Smart Power Down (DSPD) */ dev_warn (&adapter->pdev->dev,"Warning: detected DSPD enabled in EEPROM\n" );
drivers/net/ethernet/intel/e1000e/nvm.c +1 -1
@@ -67,7 +67,7 @@ static void e1000_shift_out_eec_bits(struct e1000_hw *hw, u16 data, u16 count)u32 eecd =er32 (EECD );u32 mask; - mask =0x01 << (count -1 ); + mask =BIT (count -1 );if (nvm->type == e1000_nvm_eeprom_spi) eecd |=E1000_EECD_DO ;
drivers/net/ethernet/intel/e1000e/phy.c +2 -2
@@ -2894,11 +2894,11 @@ static s32 __e1000_write_phy_reg_hv(struct e1000_hw *hw, u32 offset, u16 data,if ((hw->phy.type == e1000_phy_82578) && (hw->phy.revision >=1 ) && (hw->phy.addr ==2 ) && - !(MAX_PHY_REG_ADDRESS & reg) && (data & (1 <<11 ))) { + !(MAX_PHY_REG_ADDRESS & reg) && (data &BIT (11 ))) {u16 data2 =0x7EFF ; ret_val =e1000_access_phy_debug_regs_hv (hw, - (1 <<6 ) |0x3 , +BIT (6 ) |0x3 , &data2, false);if (ret_val) goto out;
drivers/net/ethernet/intel/e1000e/phy.h +5 -5
@@ -104,9 +104,9 @@ s32 e1000_get_cable_length_82577(struct e1000_hw *hw);#define BM_WUC_DATA_OPCODE 0x12#define BM_WUC_ENABLE_PAGE BM_PORT_CTRL_PAGE#define BM_WUC_ENABLE_REG 17 -#define BM_WUC_ENABLE_BIT (1 << 2) -#define BM_WUC_HOST_WU_BIT (1 << 4) -#define BM_WUC_ME_WU_BIT (1 << 5) +#define BM_WUC_ENABLE_BIT BIT(2) +#define BM_WUC_HOST_WU_BIT BIT(4) +#define BM_WUC_ME_WU_BIT BIT(5)#define PHY_UPPER_SHIFT 21#define BM_PHY_REG (page, reg) \
@@ -124,8 +124,8 @@ s32 e1000_get_cable_length_82577(struct e1000_hw *hw);#define I82578_ADDR_REG 29#define I82577_ADDR_REG 16#define I82577_CFG_REG 22 -#define I82577_CFG_ASSERT_CRS_ON_TX (1 << 15) -#define I82577_CFG_ENABLE_DOWNSHIFT (3 << 10)/* auto downshift */ +#define I82577_CFG_ASSERT_CRS_ON_TX BIT(15) +#define I82577_CFG_ENABLE_DOWNSHIFT (3u << 10)/* auto downshift */ #define I82577_CTRL_REG 23/* 82577 specific PHY registers */
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 12/13 e1000e: mark shifted values as unsigned
In reply to Jacob KellerThe E1000_ICH_NVM_SIG_MASK value is shifted, out to the 31st bit, which is the signed bit for signed constants. Mark these values as unsigned to prevent compiler warnings and issues on platforms which a different signed bit implementation.
--- drivers/net/ethernet/intel/e1000e/ich8lan.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/net/ethernet/intel/e1000e/ich8lan.h +4 -4
@@ -73,10 +73,10 @@ (ID_LED_OFF1_ON2 << 4) | \ (ID_LED_DEF1_DEF2)) -#define E1000_ICH_NVM_SIG_WORD 0x13 -#define E1000_ICH_NVM_SIG_MASK 0xC000 -#define E1000_ICH_NVM_VALID_SIG_MASK 0xC0 -#define E1000_ICH_NVM_SIG_VALUE 0x80 +#define E1000_ICH_NVM_SIG_WORD 0x13u +#define E1000_ICH_NVM_SIG_MASK 0xC000u +#define E1000_ICH_NVM_VALID_SIG_MASK 0xC0u +#define E1000_ICH_NVM_SIG_VALUE 0x80u#define E1000_ICH8_LAN_INIT_TIMEOUT 1500
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 13/13 e1000e: fix misuse of ret_val variable and error handling
In reply to Jacob KellerA patch introduced the use of ret_val variable but only assigned it once and didn't use it. e1000_probe already has a rval variable, which is what was checked, so remove use of ret_val in favor of rval.
--- drivers/net/ethernet/intel/e1000e/netdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/net/ethernet/intel/e1000e/netdev.c +1 -2
@@ -6956,7 +6956,6 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)u16 eeprom_apme_mask =E1000_EEPROM_APME ;s32 rval =0 ;u32 regval; -s32 ret_val;if (ei->flags2 &FLAG2_DISABLE_ASPM_L0S ) aspm_disable_flag =PCIE_LINK_STATE_L0S ;
@@ -7248,7 +7247,7 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)netif_carrier_off (netdev);/* Get and set the System Time Register SYSTIM base frequency */ - ret_val =e1000e_get_base_timinca (adapter, ®val); + rval =e1000e_get_base_timinca (adapter, ®val);if (rval) goto err_register;ew32 (TIMINCA , regval);
Signature · 1 line
2.8.1.102.ga49ec4a
PATCH v2 13/13 e1000e: fix misuse of ret_val variable and error handling
Quoted 11 lines · Jacob Keller
A patch introduced the use of
ret_valvariable but only assigned it once
and didn't use it.e1000_probealready has a rval variable, which is what was checked, so remove use ofret_valin favor of rval.Fixes 7739e79c2ff7 ("e1000e: Fix ptp time reset on networkinterruption", 2016-04-12)
Signed-off-by Jacob Keller <[email protected]>---
?drivers/net/ethernet/intel/e1000e/netdev.c | 3 +-- ?1 file changed, 1 insertion(+), 2 deletions(-)
Dropped, because it does not apply.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20160413/b77723b4/attachment-0001.asc>
Keller
PATCH v2 13/13 e1000e: fix misuse of ret_val variable and error handling
Quoted 8 lines · Jeff Kirsher
Quoted 7 lines · Jacob Keller
A patch introduced the use of
ret_valvariable but only assigned it once
and didn't use it.e1000_probealready has a rval variable, which is
what was checked, so remove use ofret_valin favor of rval.
Quoted 7 lines
Quoted 6 lines
Fixes 7739e79c2ff7 ("e1000e: Fix ptp time reset on networkinterruption", 2016-04-12)
Signed-off-by Jacob Keller <[email protected]>---
?drivers/net/ethernet/intel/e1000e/netdev.c | 3 +-- ?1 file changed, 1 insertion(+), 2 deletions(-)Dropped, because it does not apply.
Ya, it looks like this got fixed by?f9c22b9ec50c ("e1000e: Cleanup consistency in ret_val variable usage", 2016-04-13)
Thanks,
Jake