[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6737d975-cf87-452b-92b2-abc7141a98cd@omp.ru>
Date: Tue, 8 Oct 2024 20:26:21 +0300
From: Sergey Shtylyov <s.shtylyov@....ru>
To: Niklas Söderlund <niklas.soderlund+renesas@...natech.se>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Claudiu
Beznea <claudiu.beznea.uj@...renesas.com>, Paul Barker
<paul.barker.ct@...renesas.com>, Biju Das <biju.das.jz@...renesas.com>, Lad
Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>, <netdev@...r.kernel.org>
CC: <linux-renesas-soc@...r.kernel.org>
Subject: Re: [net-next] net: ravb: Only advertise Rx/Tx timestamps if hardware
supports it
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@...natech.se>
> [...]
>
> Reviewed-by: Sergey Shtylyov <s.shtylyov@....ru>
>
>> 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
Powered by blists - more mailing lists