Message ID | 20240730134055.1835261-3-tariqt@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | bec6d85d43eb7fa0834b4284bdc62f7d3a23288f |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | mlx5 PTM cross timestamping support | expand |
On 30.07.2024 15:40, Tariq Toukan wrote: > From: Carolina Jubran <cjubran@nvidia.com> > > Since the kernel doesn't support enabling Precision Time Measurement > for an endpoint device, enable the PTM PCI capability in the driver. > > Signed-off-by: Carolina Jubran <cjubran@nvidia.com> > Signed-off-by: Tariq Toukan <tariqt@nvidia.com> > --- Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> > drivers/net/ethernet/mellanox/mlx5/core/main.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c > index 527da58c7953..780078bd5b8c 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c > @@ -923,6 +923,11 @@ static int mlx5_pci_init(struct mlx5_core_dev *dev, struct pci_dev *pdev, > } > > mlx5_pci_vsc_init(dev); > + > + err = pci_enable_ptm(pdev, NULL); > + if (err) > + mlx5_core_info(dev, "PTM is not supported by PCIe\n"); > + > return 0; > > err_clr_master: > @@ -939,6 +944,7 @@ static void mlx5_pci_close(struct mlx5_core_dev *dev) > * before removing the pci bars > */ > mlx5_drain_health_wq(dev); > + pci_disable_ptm(dev->pdev); > iounmap(dev->iseg); > release_bar(dev->pdev); > mlx5_pci_disable_device(dev);
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index 527da58c7953..780078bd5b8c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -923,6 +923,11 @@ static int mlx5_pci_init(struct mlx5_core_dev *dev, struct pci_dev *pdev, } mlx5_pci_vsc_init(dev); + + err = pci_enable_ptm(pdev, NULL); + if (err) + mlx5_core_info(dev, "PTM is not supported by PCIe\n"); + return 0; err_clr_master: @@ -939,6 +944,7 @@ static void mlx5_pci_close(struct mlx5_core_dev *dev) * before removing the pci bars */ mlx5_drain_health_wq(dev); + pci_disable_ptm(dev->pdev); iounmap(dev->iseg); release_bar(dev->pdev); mlx5_pci_disable_device(dev);