Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Karol Kolacinski <karol.kolacinski@intel.com>
To: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org,
	Karol Kolacinski <karol.kolacinski@intel.com>,
	anthony.l.nguyen@intel.com, jesse.brandeburg@intel.com
Subject: [Intel-wired-lan] [PATCH v4 iwl-next 09/11] ice: modify tstamp_config only during TS mode set
Date: Tue, 29 Aug 2023 12:40:39 +0200	[thread overview]
Message-ID: <20230829104041.64131-10-karol.kolacinski@intel.com> (raw)
In-Reply-To: <20230829104041.64131-1-karol.kolacinski@intel.com>

From: Jacob Keller <jacob.e.keller@intel.com>

The driver stores the current Tx and Rx timestamping configuration in
pf->ptp.tstamp_config. This structure is supposed to represent the
currently requested configuration from userspace that we've applied to
the device.

The values of this structure are modified within the low level
ice_set_tx_tstamp() and ice_set_rx_tstamp() functions. These functions
*are* called by ice_ptp_set_timestamp_mode. However, they are also
called during the driver reset and rebuild flow. Because of this, the
driver overwrites user configuration during reset, preventing itself
from being able to properly restore the configuration after a reset.

Instead, stop modifying this saved configuration state outside of
ice_ptp_set_timestamp_mode. Instead, set the values directly within this
function. This avoids losing the configuration data.

A following change will refactor the rebuild flow to properly restore
the configuration after a PF reset.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_ptp.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index f2b315b18cbd..085f415e98ca 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -307,8 +307,6 @@ static void ice_set_tx_tstamp(struct ice_pf *pf, bool on)
 {
 	if (pf->ptp.tx_interrupt_mode == ICE_PTP_TX_INTERRUPT_SELF)
 		ice_ptp_cfg_tx_interrupt(pf, on);
-
-	pf->ptp.tstamp_config.tx_type = on ? HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF;
 }
 
 /**
@@ -331,9 +329,6 @@ static void ice_set_rx_tstamp(struct ice_pf *pf, bool on)
 			continue;
 		vsi->rx_rings[i]->ptp_rx = on;
 	}
-
-	pf->ptp.tstamp_config.rx_filter = on ? HWTSTAMP_FILTER_ALL :
-					       HWTSTAMP_FILTER_NONE;
 }
 
 /**
@@ -2054,9 +2049,11 @@ ice_ptp_set_timestamp_mode(struct ice_pf *pf, struct hwtstamp_config *config)
 	switch (config->tx_type) {
 	case HWTSTAMP_TX_OFF:
 		ice_set_tx_tstamp(pf, false);
+		pf->ptp.tstamp_config.tx_type = HWTSTAMP_TX_OFF;
 		break;
 	case HWTSTAMP_TX_ON:
 		ice_set_tx_tstamp(pf, true);
+		pf->ptp.tstamp_config.tx_type = HWTSTAMP_TX_ON;
 		break;
 	default:
 		return -ERANGE;
@@ -2065,6 +2062,7 @@ ice_ptp_set_timestamp_mode(struct ice_pf *pf, struct hwtstamp_config *config)
 	switch (config->rx_filter) {
 	case HWTSTAMP_FILTER_NONE:
 		ice_set_rx_tstamp(pf, false);
+		pf->ptp.tstamp_config.rx_filter = HWTSTAMP_FILTER_NONE;
 		break;
 	case HWTSTAMP_FILTER_PTP_V1_L4_EVENT:
 	case HWTSTAMP_FILTER_PTP_V1_L4_SYNC:
@@ -2081,6 +2079,7 @@ ice_ptp_set_timestamp_mode(struct ice_pf *pf, struct hwtstamp_config *config)
 	case HWTSTAMP_FILTER_NTP_ALL:
 	case HWTSTAMP_FILTER_ALL:
 		ice_set_rx_tstamp(pf, true);
+		pf->ptp.tstamp_config.rx_filter = HWTSTAMP_FILTER_ALL;
 		break;
 	default:
 		return -ERANGE;
-- 
2.39.2

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

  parent reply	other threads:[~2023-08-29 10:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-29 10:40 [Intel-wired-lan] [PATCH v4 iwl-next 00/11] ice: fix timestamping in reset process Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 01/11] ice: use ice_pf_src_tmr_owned where available Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 02/11] ice: introduce PTP state machine Karol Kolacinski
2023-08-29 12:54   ` kernel test robot
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 03/11] ice: pass reset type to PTP reset functions Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 04/11] ice: rename verify_cached to has_ready_bitmap Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 05/11] ice: rename ice_ptp_configure_tx_tstamp Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 06/11] ice: rename ice_ptp_tx_cfg_intr Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 07/11] ice: factor out ice_ptp_rebuild_owner() Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 08/11] ice: remove ptp_tx ring parameter flag Karol Kolacinski
2023-08-29 10:40 ` Karol Kolacinski [this message]
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 10/11] ice: restore timestamp configuration after reset Karol Kolacinski
2023-08-29 10:40 ` [Intel-wired-lan] [PATCH v4 iwl-next 11/11] ice: stop destroying and reinitalizing Tx tracker during reset Karol Kolacinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230829104041.64131-10-karol.kolacinski@intel.com \
    --to=karol.kolacinski@intel.com \
    --cc=anthony.l.nguyen@intel.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jesse.brandeburg@intel.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox