mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
net: phy: micrel: improve HW timestamping config logic
The driver was adjusting stored values independently of what was actually supported and configured. Improve logic to store values once all checks are passing Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Reviewed-by: Kory Maincent <kory.maincent@bootlin.com> Link: https://patch.msgid.link/20260106160723.3925872-2-vadim.fedorenko@linux.dev Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
a45ed8db62
commit
88c7ed2fb0
|
|
@ -3157,9 +3157,6 @@ static int lan8814_hwtstamp_set(struct mii_timestamper *mii_ts,
|
|||
int txcfg = 0, rxcfg = 0;
|
||||
int pkt_ts_enable;
|
||||
|
||||
ptp_priv->hwts_tx_type = config->tx_type;
|
||||
ptp_priv->rx_filter = config->rx_filter;
|
||||
|
||||
switch (config->rx_filter) {
|
||||
case HWTSTAMP_FILTER_NONE:
|
||||
ptp_priv->layer = 0;
|
||||
|
|
@ -3187,6 +3184,18 @@ static int lan8814_hwtstamp_set(struct mii_timestamper *mii_ts,
|
|||
return -ERANGE;
|
||||
}
|
||||
|
||||
switch (config->tx_type) {
|
||||
case HWTSTAMP_TX_OFF:
|
||||
case HWTSTAMP_TX_ON:
|
||||
case HWTSTAMP_TX_ONESTEP_SYNC:
|
||||
break;
|
||||
default:
|
||||
return -ERANGE;
|
||||
}
|
||||
|
||||
ptp_priv->hwts_tx_type = config->tx_type;
|
||||
ptp_priv->rx_filter = config->rx_filter;
|
||||
|
||||
if (ptp_priv->layer & PTP_CLASS_L2) {
|
||||
rxcfg = PTP_RX_PARSE_CONFIG_LAYER2_EN_;
|
||||
txcfg = PTP_TX_PARSE_CONFIG_LAYER2_EN_;
|
||||
|
|
@ -5051,9 +5060,6 @@ static int lan8841_hwtstamp_set(struct mii_timestamper *mii_ts,
|
|||
int txcfg = 0, rxcfg = 0;
|
||||
int pkt_ts_enable;
|
||||
|
||||
ptp_priv->hwts_tx_type = config->tx_type;
|
||||
ptp_priv->rx_filter = config->rx_filter;
|
||||
|
||||
switch (config->rx_filter) {
|
||||
case HWTSTAMP_FILTER_NONE:
|
||||
ptp_priv->layer = 0;
|
||||
|
|
@ -5081,6 +5087,18 @@ static int lan8841_hwtstamp_set(struct mii_timestamper *mii_ts,
|
|||
return -ERANGE;
|
||||
}
|
||||
|
||||
switch (config->tx_type) {
|
||||
case HWTSTAMP_TX_OFF:
|
||||
case HWTSTAMP_TX_ON:
|
||||
case HWTSTAMP_TX_ONESTEP_SYNC:
|
||||
break;
|
||||
default:
|
||||
return -ERANGE;
|
||||
}
|
||||
|
||||
ptp_priv->hwts_tx_type = config->tx_type;
|
||||
ptp_priv->rx_filter = config->rx_filter;
|
||||
|
||||
/* Setup parsing of the frames and enable the timestamping for ptp
|
||||
* frames
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user