On 10/8/24 8:45 PM, Niklas Söderlund wrote: [...] > Sorry for missing your comment earlier. I prolly shouldn't have stamped my R-b tag so easily before asking a question. :-) [...] >>>> Recent work moving the reporting of Rx software timestamps to the core >>>> [1] highlighted an issue where hardware time stamping where advertised s/where/was/. >>>> 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? > > Yes it is OK, see the discussion that sparked this patch. > > https://lore.kernel.org/netdev/20240829204429.GA3708622@xxxxxxxxxxxx/ Ah, now I'm seeing where that 0 came from... :-) >> Also, how about inverting the *if* condition above (and doing an early >> *return*) and avoiding reindenting the code below it? > > I thought about that but opted not to do so. The same check is used all > over the code and I think it's value in keeping it similar. I will go > over all this code again as Gen4 will need more work to fully enable > gPTP. My hope is to abstract the check into something bore descriptive s/bore/more/? :-) > instead of sprinkling yet more conditions on to this one. Is it OK for > you to keep them aligned for now? Fine by me. >> [...] MBR, Sergey