Re: [net-next] net: ravb: Only advertise Rx/Tx timestamps if hardware supports it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux