>-----Original Message-----
>From: Jakub Kicinski <k...@kernel.org>
>Sent: Tuesday, November 17, 2020 2:08 AM
>To: Nguyen, Anthony L <anthony.l.ngu...@intel.com>
>Cc: da...@davemloft.net; Kwapulinski, Piotr <piotr.kwapulin...@intel.com>; 
>netdev@vger.kernel.org; sassm...@redhat.com; Loktionov, Aleksandr 
><aleksandr.loktio...@intel.com>; Kubalewski, Arkadiusz 
><arkadiusz.kubalew...@intel.com>; Andrew Bowers <andrewx.bow...@intel.com>; 
>Richard Cochran <richardcoch...@gmail.com>; Vladimir Oltean <olte...@gmail.com>
>Subject: Re: [net-next 1/4] i40e: add support for PTP external synchronization 
>clock
>
>On Fri, 13 Nov 2020 16:10:54 -0800 Tony Nguyen wrote:
>> From: Piotr Kwapulinski <piotr.kwapulin...@intel.com>
>>
>> Add support for external synchronization clock via GPIOs.
>> 1PPS signals are handled via the dedicated 3 GPIOs: SDP3_2,
>> SDP3_3 and GPIO_4.
>> Previously it was not possible to use the external PTP synchronization
>> clock.
>
>Please _always_ CC Richard on PTP changes.

Sure

>
>
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e.h
>> b/drivers/net/ethernet/intel/i40e/i40e.h
>> index 537300e762f0..8f5eecbff3d6 100644
>> --- a/drivers/net/ethernet/intel/i40e/i40e.h
>> +++ b/drivers/net/ethernet/intel/i40e/i40e.h
>> @@ -196,6 +196,11 @@ enum i40e_fd_stat_idx {  #define
>> I40E_FD_ATR_TUNNEL_STAT_IDX(pf_id) \
>>                      (I40E_FD_STAT_PF_IDX(pf_id) + I40E_FD_STAT_ATR_TUNNEL)
>>
>> +/* get PTP pins for ioctl */
>> +#define SIOCGPINS   (SIOCDEVPRIVATE + 0)
>> +/* set PTP pins for ioctl */
>> +#define SIOCSPINS   (SIOCDEVPRIVATE + 1)
>
>This is unexpected.. is it really normal to declare private device IOCTLs to 
>configure PPS pins? Or are you just exposing this so you're able to play with 
>GPIOs from user space?

Right, this should not go upstream.

>
>>  /* The following structure contains the data parsed from the user-defined
>>   * field of the ethtool_rx_flow_spec structure.
>>   */
>> @@ -344,7 +349,6 @@ struct i40e_ddp_old_profile_list {
>>                                           I40E_FLEX_SET_FSIZE(fsize) | \
>>                                           I40E_FLEX_SET_SRC_WORD(src))
>>
>> -
>
>Please move all the empty line removal to a separate patch.
>
>>  #define I40E_MAX_FLEX_SRC_OFFSET 0x1F
>>
>>  /* macros related to GLQF_ORT */
>
>> @@ -2692,7 +2692,15 @@ int i40e_ioctl(struct net_device *netdev, struct 
>> ifreq *ifr, int cmd)
>>      case SIOCGHWTSTAMP:
>>              return i40e_ptp_get_ts_config(pf, ifr);
>>      case SIOCSHWTSTAMP:
>> +            if (!capable(CAP_SYS_ADMIN))
>> +                    return -EACCES;
>
>If you needed this, this should be a fix for net. But you don't, core checks 
>it.
>
>>              return i40e_ptp_set_ts_config(pf, ifr);
>> +    case SIOCSPINS:
>> +            if (!capable(CAP_SYS_ADMIN))
>> +                    return -EACCES;
>> +            return i40e_ptp_set_pins_ioctl(pf, ifr);
>> +    case SIOCGPINS:
>> +            return i40e_ptp_get_pins(pf, ifr);
>>      default:
>>              return -EOPNOTSUPP;
>>      }
>

I'll provide and updated patch.
Thank you for review.

Reply via email to