Commit 1b5d73fb authored by Vinicius Costa Gomes's avatar Vinicius Costa Gomes Committed by Tony Nguyen

igc: Enable PCIe PTM

Enables PCIe PTM (Precision Time Measurement) support in the igc
driver. Notifies the PCI devices that PCIe PTM should be enabled.

PCIe PTM is similar protocol to PTP (Precision Time Protocol) running
in the PCIe fabric, it allows devices to report time measurements from
their internal clocks and the correlation with the PCIe root clock.

The i225 NIC exposes some registers that expose those time
measurements, those registers will be used, in later patches, to
implement the PTP_SYS_OFFSET_PRECISE ioctl().
Signed-off-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
Tested-by: default avatarDvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 014408cd
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <net/pkt_sched.h> #include <net/pkt_sched.h>
#include <linux/bpf_trace.h> #include <linux/bpf_trace.h>
#include <net/xdp_sock_drv.h> #include <net/xdp_sock_drv.h>
#include <linux/pci.h>
#include <net/ipv6.h> #include <net/ipv6.h>
#include "igc.h" #include "igc.h"
...@@ -6174,6 +6176,10 @@ static int igc_probe(struct pci_dev *pdev, ...@@ -6174,6 +6176,10 @@ static int igc_probe(struct pci_dev *pdev,
pci_enable_pcie_error_reporting(pdev); pci_enable_pcie_error_reporting(pdev);
err = pci_enable_ptm(pdev, NULL);
if (err < 0)
dev_info(&pdev->dev, "PCIe PTM not supported by PCIe bus/controller\n");
pci_set_master(pdev); pci_set_master(pdev);
err = -ENOMEM; err = -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment