Message ID | 20220614011528.32118-2-tangmeng@uniontech.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [5.10,1/2] commit 1d71eb53e451 ("Revert "PCI: Make pci_enable_ptm() private"") | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
On Tue, Jun 14, 2022 at 09:15:28AM +0800, Meng Tang wrote: > In the 5.10 kernel version, even to the latest confirmed version, > the following error will still be reported when I225-V network card > is used. > > kernel: [ 1.031581] igc: probe of 0000:01:00.0 failed with error -2 > kernel: [ 1.066574] igc: probe of 0000:02:00.0 failed with error -2 > kernel: [ 1.096152] igc: probe of 0000:03:00.0 failed with error -2 > kernel: [ 1.127251] igc: probe of 0000:04:00.0 failed with error -2 > > Even though I confirmed that 7c496de538eebd8212dc2a3c9a468386b2640d4 > and 47bca7de6a4fb8dcb564c7ca4d885c91ed19e03 have been merged into the > kernel 5.10, but bug still occurred, and this patch can fixes it. > > 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: Vinicius Costa Gomes <vinicius.gomes@intel.com> > Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com> > Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> > Signed-off-by: Meng Tang <tangmeng@uniontech.com> > --- > drivers/net/ethernet/intel/igc/igc_main.c | 5 +++++ > 1 file changed, 5 insertions(+) Both now queued up, thanks. greg k-h
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index fd9257c7059a..298e968629db 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -10,6 +10,7 @@ #include <linux/ip.h> #include <linux/pm_runtime.h> #include <net/pkt_sched.h> +#include <linux/pci.h> #include <net/ipv6.h> @@ -5041,6 +5042,10 @@ static int igc_probe(struct pci_dev *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); err = -ENOMEM;