> -----Original Message-----
> From: Richardson, Bruce <bruce.richard...@intel.com>
> Sent: Friday, October 11, 2024 4:03 PM
> To: Ye, MingjinX <mingjinx...@intel.com>
> Cc: dev@dpdk.org; Su, Simei <simei...@intel.com>
> Subject: Re: [PATCH v6 2/3] net/ice: add frequency adjustment support for
> PTP
>
> On Fri, Oct 11, 2024 at 06:34:06AM +0000, Mingjin Ye wrote:
> > Add ice support for new ethdev API to adjust frequency for IEEE1588
> > PTP. Also, this patch reworks code for converting software update to
> > hardware update.
> >
> > Signed-off-by: Simei Su <simei...@intel.com>
> > Signed-off-by: Mingjin Ye <mingjinx...@intel.com>
> > ---
> > doc/guides/nics/ice.rst | 16 ++++
> > drivers/net/ice/ice_ethdev.c | 176 ++++++++++++++++++++++++++------
> ---
> > drivers/net/ice/ice_ethdev.h | 5 +-
> > drivers/net/ice/ice_rxtx.c | 4 +-
> > 4 files changed, 153 insertions(+), 48 deletions(-)
> >
> > diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst index
> > ae975d19ad..061c8c7a20 100644
> > --- a/doc/guides/nics/ice.rst
> > +++ b/doc/guides/nics/ice.rst
> > @@ -328,6 +328,22 @@ Forward Error Correction (FEC)
> >
> > Supports get/set FEC mode and get FEC capability.
> >
> > +Time Synchronisation
> > +~~~~~~~~~~~~~~~~~~~~
> > +
> > +The system operator can run a PTP (Precision Time Protocol) client
> > +application to synchronise the time on the network card (and
> > +optionally the time on the
> > +system) to the PTP master.
> > +
> > +ICE PMD supports PTP client applications that use the DPDK IEEE1588
> > +API to communicate with the PTP master clock. Note that PTP client
> > +application needs to run on PF and add the
> > +``--force-max-simd-bitwidth=64`` startup parameter to disable vector
> mode.
> > +
> > +.. code-block:: console
> > +
> > + examples/dpdk-ptpclient -c f -n 3 -a 0000:ec:00.1
> > + --force-max-simd-bitwidth=64 -- -T 1 -p 0x1 -c 1
> > +
>
> It's a pity that the vector disabling doesn't happen automatically somewhere
> and that we have to ask the user to pass in the flag. Maybe see if that can be
> improved for RC2 or next release?
Currently, hardware timestamping is enabled by marking
RTE_MBUF_F_TX_IEEEE1588_TMST
in mbuf->ol_flags. Therefore, automatic routing is not possible.
There are no suitable uninstall flags to choose from when selecting the tx path.
This would be easily achieved by adding a macro of type
'RTE_ETH_TX_IEEEE1588_TMST'
after lib/ethdev/rte_ethdev.h#1624.
Is this feasible? Is the scope of the impact on the large side.