diff options
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe')
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 8 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 18 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 4 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h | 2 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 3 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 2 | 
6 files changed, 21 insertions, 16 deletions
| diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c index 8362822316a9..f70967c32116 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c @@ -1118,7 +1118,9 @@ static void ixgbe_get_drvinfo(struct net_device *netdev,  }  static void ixgbe_get_ringparam(struct net_device *netdev, -				struct ethtool_ringparam *ring) +				struct ethtool_ringparam *ring, +				struct kernel_ethtool_ringparam *kernel_ring, +				struct netlink_ext_ack *extack)  {  	struct ixgbe_adapter *adapter = netdev_priv(netdev);  	struct ixgbe_ring *tx_ring = adapter->tx_ring[0]; @@ -1131,7 +1133,9 @@ static void ixgbe_get_ringparam(struct net_device *netdev,  }  static int ixgbe_set_ringparam(struct net_device *netdev, -			       struct ethtool_ringparam *ring) +			       struct ethtool_ringparam *ring, +			       struct kernel_ethtool_ringparam *kernel_ring, +			       struct netlink_ext_ack *extack)  {  	struct ixgbe_adapter *adapter = netdev_priv(netdev);  	struct ixgbe_ring *temp_ring; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 0f9f022260d7..89b467006291 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -2170,7 +2170,7 @@ static struct sk_buff *ixgbe_build_skb(struct ixgbe_ring *rx_ring,  	net_prefetch(xdp->data_meta);  	/* build an skb to around the page buffer */ -	skb = build_skb(xdp->data_hard_start, truesize); +	skb = napi_build_skb(xdp->data_hard_start, truesize);  	if (unlikely(!skb))  		return NULL; @@ -2235,7 +2235,7 @@ static struct sk_buff *ixgbe_run_xdp(struct ixgbe_adapter *adapter,  		result = IXGBE_XDP_REDIR;  		break;  	default: -		bpf_warn_invalid_xdp_action(act); +		bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);  		fallthrough;  	case XDP_ABORTED:  out_failure: @@ -3247,8 +3247,8 @@ static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter)  		/* If Flow Director is enabled, set interrupt affinity */  		if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {  			/* assign the mask for this irq */ -			irq_set_affinity_hint(entry->vector, -					      &q_vector->affinity_mask); +			irq_update_affinity_hint(entry->vector, +						 &q_vector->affinity_mask);  		}  	} @@ -3264,8 +3264,8 @@ static int ixgbe_request_msix_irqs(struct ixgbe_adapter *adapter)  free_queue_irqs:  	while (vector) {  		vector--; -		irq_set_affinity_hint(adapter->msix_entries[vector].vector, -				      NULL); +		irq_update_affinity_hint(adapter->msix_entries[vector].vector, +					 NULL);  		free_irq(adapter->msix_entries[vector].vector,  			 adapter->q_vector[vector]);  	} @@ -3398,7 +3398,7 @@ static void ixgbe_free_irq(struct ixgbe_adapter *adapter)  			continue;  		/* clear the affinity_mask in the IRQ descriptor */ -		irq_set_affinity_hint(entry->vector, NULL); +		irq_update_affinity_hint(entry->vector, NULL);  		free_irq(entry->vector, q_vector);  	} @@ -5531,6 +5531,10 @@ static int ixgbe_non_sfp_link_config(struct ixgbe_hw *hw)  	if (!speed && hw->mac.ops.get_link_capabilities) {  		ret = hw->mac.ops.get_link_capabilities(hw, &speed,  							&autoneg); +		/* remove NBASE-T speeds from default autonegotiation +		 * to accommodate broken network switches in the field +		 * which cannot cope with advertised NBASE-T speeds +		 */  		speed &= ~(IXGBE_LINK_SPEED_5GB_FULL |  			   IXGBE_LINK_SPEED_2_5GB_FULL);  	} diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c index 23ddfd79fc8b..336426a67ac1 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c @@ -992,10 +992,6 @@ static int ixgbe_ptp_set_timestamp_mode(struct ixgbe_adapter *adapter,  	bool is_l2 = false;  	u32 regval; -	/* reserved for future extensions */ -	if (config->flags) -		return -EINVAL; -  	switch (config->tx_type) {  	case HWTSTAMP_TX_OFF:  		tsync_tx_ctl = 0; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h index a82533f21d36..bba3feaf3318 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h @@ -35,8 +35,6 @@ int ixgbe_xsk_pool_setup(struct ixgbe_adapter *adapter,  			 struct xsk_buff_pool *pool,  			 u16 qid); -void ixgbe_zca_free(struct zero_copy_allocator *alloc, unsigned long handle); -  bool ixgbe_alloc_rx_buffers_zc(struct ixgbe_ring *rx_ring, u16 cleaned_count);  int ixgbe_clean_rx_irq_zc(struct ixgbe_q_vector *q_vector,  			  struct ixgbe_ring *rx_ring, diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c index 9724ffb16518..e4b50c7781ff 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c @@ -3405,6 +3405,9 @@ static s32 ixgbe_reset_hw_X550em(struct ixgbe_hw *hw)  	/* flush pending Tx transactions */  	ixgbe_clear_tx_pending(hw); +	/* set MDIO speed before talking to the PHY in case it's the 1st time */ +	ixgbe_set_mdio_speed(hw); +  	/* PHY ops must be identified and initialized prior to reset */  	status = hw->phy.ops.init(hw);  	if (status == IXGBE_ERR_SFP_NOT_SUPPORTED || diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c index db2bc58dfcfd..b3fd8e5cd85b 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c @@ -131,7 +131,7 @@ static int ixgbe_run_xdp_zc(struct ixgbe_adapter *adapter,  			goto out_failure;  		break;  	default: -		bpf_warn_invalid_xdp_action(act); +		bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);  		fallthrough;  	case XDP_ABORTED:  out_failure: |