On 10/7/24 10:05 PM, Sergey Shtylyov wrote: [...] >> Recent work moving the reporting of Rx software timestamps to the core >> [1] highlighted an issue where hardware time stamping where advertised >> for the platforms where it is not supported. >> >> Fix this by covering advertising support for hardware timestamps only if >> the hardware supports it. Due to the Tx implementation in RAVB software >> Tx timestamping is also only considered if the hardware supports >> hardware timestamps. This should be addressed in future, but this fix >> only reflects what the driver currently implements. >> >> 1. Commit 277901ee3a26 ("ravb: Remove setting of RX software timestamp") >> >> Fixes: 7e09a052dc4e ("ravb: Exclude gPTP feature support for RZ/G2L") >> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > [...] > > Reviewed-by: Sergey Shtylyov <s.shtylyov@xxxxxx> > >> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c >> index d2a6518532f3..907af4651c55 100644 >> --- a/drivers/net/ethernet/renesas/ravb_main.c >> +++ b/drivers/net/ethernet/renesas/ravb_main.c >> @@ -1750,20 +1750,19 @@ static int ravb_get_ts_info(struct net_device *ndev, >> struct ravb_private *priv = netdev_priv(ndev); >> const struct ravb_hw_info *hw_info = priv->info; >> >> - info->so_timestamping = >> - SOF_TIMESTAMPING_TX_SOFTWARE | >> - SOF_TIMESTAMPING_TX_HARDWARE | >> - SOF_TIMESTAMPING_RX_HARDWARE | >> - SOF_TIMESTAMPING_RAW_HARDWARE; >> - info->tx_types = (1 << HWTSTAMP_TX_OFF) | (1 << HWTSTAMP_TX_ON); >> - info->rx_filters = >> - (1 << HWTSTAMP_FILTER_NONE) | >> - (1 << HWTSTAMP_FILTER_PTP_V2_L2_EVENT) | >> - (1 << HWTSTAMP_FILTER_ALL); >> - if (hw_info->gptp || hw_info->ccc_gac) >> + if (hw_info->gptp || hw_info->ccc_gac) { >> + info->so_timestamping = >> + SOF_TIMESTAMPING_TX_SOFTWARE | >> + SOF_TIMESTAMPING_TX_HARDWARE | >> + SOF_TIMESTAMPING_RX_HARDWARE | >> + SOF_TIMESTAMPING_RAW_HARDWARE; >> + info->tx_types = (1 << HWTSTAMP_TX_OFF) | (1 << HWTSTAMP_TX_ON); >> + info->rx_filters = >> + (1 << HWTSTAMP_FILTER_NONE) | >> + (1 << HWTSTAMP_FILTER_PTP_V2_L2_EVENT) | >> + (1 << HWTSTAMP_FILTER_ALL); >> info->phc_index = ptp_clock_index(priv->ptp.clock); >> - else >> - info->phc_index = 0; > > Is it OK to remove this line? Also, how about inverting the *if* condition above (and doing an early *return*) and avoiding reindenting the code below it? [...] MBR, Sergey