Commit 1664ef3e authored by Andre Guedes's avatar Andre Guedes Committed by Jeff Kirsher
Browse files

igc: Remove ethertype filter in PTP code



The driver only supports hardware timestamping for all incoming
traffic (HWTSTAMP_FILTER_ALL) which is enabled via Rx Time Sync
Control (TSYNCRXCTL) register already. Therefore, the ethertype
filter set in in igc_ptp_set_timestamp_mode() is useless so this
patch removes it.

Signed-off-by: default avatarAndre Guedes <andre.guedes@intel.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 09a2b50a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ void igc_set_ethtool_ops(struct net_device *);
#define MAX_Q_VECTORS			8
#define MAX_STD_JUMBO_FRAME_SIZE	9216

#define MAX_ETYPE_FILTER		(4 - 1)
#define MAX_ETYPE_FILTER		4
#define IGC_RETA_SIZE			128

struct igc_tx_queue_stats {
+0 −3
Original line number Diff line number Diff line
@@ -384,9 +384,6 @@

#define IGC_TSICR_INTERRUPTS	IGC_TSICR_TXTS

/* PTP Queue Filter */
#define IGC_ETQF_1588		BIT(30)

#define IGC_FTQF_VF_BP		0x00008000
#define IGC_FTQF_1588_TIME_STAMP	0x08000000
#define IGC_FTQF_MASK			0xF0000000
+0 −12
Original line number Diff line number Diff line
@@ -305,7 +305,6 @@ static int igc_ptp_set_timestamp_mode(struct igc_adapter *adapter,
	struct igc_hw *hw = &adapter->hw;
	u32 tsync_rx_cfg = 0;
	bool is_l4 = false;
	bool is_l2 = false;
	u32 regval;

	/* reserved for future extensions */
@@ -346,7 +345,6 @@ static int igc_ptp_set_timestamp_mode(struct igc_adapter *adapter,
	case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ:
		tsync_rx_ctl |= IGC_TSYNCRXCTL_TYPE_EVENT_V2;
		config->rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT;
		is_l2 = true;
		is_l4 = true;
		break;
	case HWTSTAMP_FILTER_PTP_V1_L4_EVENT:
@@ -370,7 +368,6 @@ static int igc_ptp_set_timestamp_mode(struct igc_adapter *adapter,
		tsync_rx_ctl |= IGC_TSYNCRXCTL_TYPE_ALL;
		tsync_rx_ctl |= IGC_TSYNCRXCTL_RXSYNSIG;
		config->rx_filter = HWTSTAMP_FILTER_ALL;
		is_l2 = true;
		is_l4 = true;

		if (hw->mac.type == igc_i225) {
@@ -405,15 +402,6 @@ static int igc_ptp_set_timestamp_mode(struct igc_adapter *adapter,
	/* define which PTP packets are time stamped */
	wr32(IGC_TSYNCRXCFG, tsync_rx_cfg);

	/* define ethertype filter for timestamped packets */
	if (is_l2)
		wr32(IGC_ETQF(3),
		     (IGC_ETQF_FILTER_ENABLE | /* enable filter */
		     IGC_ETQF_1588 | /* enable timestamping */
		     ETH_P_1588)); /* 1588 eth protocol type */
	else
		wr32(IGC_ETQF(3), 0);

	/* L4 Queue Filter[3]: filter by destination port and protocol */
	if (is_l4) {
		u32 ftqf = (IPPROTO_UDP /* UDP */