[Intel-wired-lan] [PATCH net v3 1/1] igc: read before write to SRRCTL register
naamax.meir
naamax.meir at linux.intel.com
Sun Apr 30 05:05:57 UTC 2023
On 4/14/2023 18:49, Song Yoong Siang wrote:
> igc_configure_rx_ring() function will be called as part of XDP program
> setup. If Rx hardware timestamp is enabled prio to XDP program setup,
> this timestamp enablement will be overwritten when buffer size is
> written into SRRCTL register.
>
> Thus, this commit read the register value before write to SRRCTL
> register. This commit is tested by using xdp_hw_metadata bpf selftest
> tool. The tool enables Rx hardware timestamp and then attach XDP program
> to igc driver. It will display hardware timestamp of UDP packet with
> port number 9092. Below are detail of test steps and results.
>
> Command on DUT:
> sudo ./xdp_hw_metadata <interface name>
>
> Command on Link Partner:
> echo -n skb | nc -u -q1 <destination IPv4 addr> 9092
>
> Result before this patch:
> skb hwtstamp is not found!
>
> Result after this patch:
> found skb hwtstamp = 1677800973.642836757
>
> Optionally, read PHC to confirm the values obtained are almost the same:
> Command:
> sudo ./testptp -d /dev/ptp0 -g
> Result:
> clock time: 1677800973.913598978 or Fri Mar 3 07:49:33 2023
>
> Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy")
> Cc: <stable at vger.kernel.org> # 5.14+
> Signed-off-by: Song Yoong Siang <yoong.siang.song at intel.com>
> Reviewed-by: Jacob Keller <jacob.e.keller at intel.com>
> Reviewed-by: Jesper Dangaard Brouer <brouer at redhat.com>
> ---
> v2 -> v3: Refactor SRRCTL definitions to more human readable definitions
> v1 -> v2: Fix indention
> ---
> drivers/net/ethernet/intel/igc/igc_base.h | 11 ++++++++---
> drivers/net/ethernet/intel/igc/igc_main.c | 7 +++++--
> 2 files changed, 13 insertions(+), 5 deletions(-)
Tested-by: Naama Meir <naamax.meir at linux.intel.com>
More information about the Intel-wired-lan
mailing list