diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2021-12-10 01:34:43 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-12-12 12:51:33 +0000 |
commit | 22ee9f8e4011fb8a6d75dc2f9a43360d4f400235 (patch) | |
tree | 6ac48e901ccbccf6791ca9c78d6ae306f4f2e437 /drivers/net/dsa/sja1105/sja1105.h | |
parent | net: dsa: sja1105: make dp->priv point directly to sja1105_tagger_data (diff) | |
download | linux-dev-22ee9f8e4011fb8a6d75dc2f9a43360d4f400235.tar.xz linux-dev-22ee9f8e4011fb8a6d75dc2f9a43360d4f400235.zip |
net: dsa: sja1105: move ts_id from sja1105_tagger_data
The TX timestamp ID is incremented by the SJA1110 PTP timestamping
callback (->port_tx_timestamp) for every packet, when cloning it.
It isn't used by the tagger at all, even though it sits inside the
struct sja1105_tagger_data.
Also, serialization to this structure is currently done through
tagger_data->meta_lock, which is a cheap hack because the meta_lock
isn't used for anything else on SJA1110 (sja1105_rcv_meta_state_machine
isn't called).
This change moves ts_id from sja1105_tagger_data to sja1105_private and
introduces a dedicated spinlock for it, also in sja1105_private.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/sja1105/sja1105.h')
-rw-r--r-- | drivers/net/dsa/sja1105/sja1105.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/dsa/sja1105/sja1105.h b/drivers/net/dsa/sja1105/sja1105.h index 6ef6fb4f30e6..850a7d3e69bb 100644 --- a/drivers/net/dsa/sja1105/sja1105.h +++ b/drivers/net/dsa/sja1105/sja1105.h @@ -261,6 +261,9 @@ struct sja1105_private { * the switch doesn't confuse them with one another. */ struct mutex mgmt_lock; + /* PTP two-step TX timestamp ID, and its serialization lock */ + spinlock_t ts_id_lock; + u8 ts_id; /* Serializes access to the dynamic config interface */ struct mutex dynamic_config_lock; struct devlink_region **regions; |