Message ID | 20210322161822.1546454-2-vinicius.gomes@intel.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | igc: Add support for PCIe PTM | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
On Mon, Mar 22, 2021 at 09:18:20AM -0700, Vinicius Costa Gomes wrote: > Make pci_enable_ptm() accessible from the drivers. > > Even if PTM still works on the platform I am using without calling > this function, it might be possible that it's not always the case. > > Exposing this to the driver enables the driver to use the > 'ptm_enabled' field of 'pci_dev' to check if PTM is enabled or not. > > This reverts commit ac6c26da29c12fa511c877c273ed5c939dc9e96c. > > Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> > Acked-by: Bjorn Helgaas <bhelgaas@google.com> Without an EXPORT_SYMBOL_GPL this is not going to be very useful for your driver.
Christoph Hellwig <hch@infradead.org> writes: > On Mon, Mar 22, 2021 at 09:18:20AM -0700, Vinicius Costa Gomes wrote: >> Make pci_enable_ptm() accessible from the drivers. >> >> Even if PTM still works on the platform I am using without calling >> this function, it might be possible that it's not always the case. >> >> Exposing this to the driver enables the driver to use the >> 'ptm_enabled' field of 'pci_dev' to check if PTM is enabled or not. >> >> This reverts commit ac6c26da29c12fa511c877c273ed5c939dc9e96c. >> >> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> >> Acked-by: Bjorn Helgaas <bhelgaas@google.com> > > Without an EXPORT_SYMBOL_GPL this is not going to be very useful for > your driver. Unless I am missing something here, the commit that made 'pci_enable_ptm()' private didn't remove the 'EXPORT_SYMBOL' from the function definition in drivers/pci/pcie/ptm.c. Cheers,
On Tue, Mar 23, 2021 at 11:40:11AM -0700, Vinicius Costa Gomes wrote: > > Without an EXPORT_SYMBOL_GPL this is not going to be very useful for > > your driver. > > Unless I am missing something here, the commit that made > 'pci_enable_ptm()' private didn't remove the 'EXPORT_SYMBOL' from the > function definition in drivers/pci/pcie/ptm.c. OOPS, indeed. Looks like right now the function is nindeed exported, but has no single user at all.
On Mon, Mar 22, 2021 at 09:18:20AM -0700, Vinicius Costa Gomes wrote: > Make pci_enable_ptm() accessible from the drivers. > > Even if PTM still works on the platform I am using without calling > this function, it might be possible that it's not always the case. I don't understand the value of this paragraph. The rest of it makes good sense (although I think we might want to add a wrapper as I mentioned elsewhere). > Exposing this to the driver enables the driver to use the > 'ptm_enabled' field of 'pci_dev' to check if PTM is enabled or not. > > This reverts commit ac6c26da29c12fa511c877c273ed5c939dc9e96c. > > Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> > Acked-by: Bjorn Helgaas <bhelgaas@google.com> > --- > drivers/pci/pci.h | 3 --- > include/linux/pci.h | 7 +++++++ > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index ef7c4661314f..2c61557e1cc1 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -599,11 +599,8 @@ static inline void pcie_ecrc_get_policy(char *str) { } > > #ifdef CONFIG_PCIE_PTM > void pci_ptm_init(struct pci_dev *dev); > -int pci_enable_ptm(struct pci_dev *dev, u8 *granularity); > #else > static inline void pci_ptm_init(struct pci_dev *dev) { } > -static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) > -{ return -EINVAL; } > #endif > > struct pci_dev_reset_methods { > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 86c799c97b77..3d3dc07eac3b 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -1610,6 +1610,13 @@ static inline bool pci_aer_available(void) { return false; } > > bool pci_ats_disabled(void); > > +#ifdef CONFIG_PCIE_PTM > +int pci_enable_ptm(struct pci_dev *dev, u8 *granularity); > +#else > +static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) > +{ return -EINVAL; } > +#endif > + > void pci_cfg_access_lock(struct pci_dev *dev); > bool pci_cfg_access_trylock(struct pci_dev *dev); > void pci_cfg_access_unlock(struct pci_dev *dev); > -- > 2.31.0 >
Bjorn Helgaas <helgaas@kernel.org> writes: > On Mon, Mar 22, 2021 at 09:18:20AM -0700, Vinicius Costa Gomes wrote: >> Make pci_enable_ptm() accessible from the drivers. >> >> Even if PTM still works on the platform I am using without calling >> this function, it might be possible that it's not always the case. > > I don't understand the value of this paragraph. The rest of it makes > good sense (although I think we might want to add a wrapper as I > mentioned elsewhere). > Sure. Will remove this paragraph, and add the helper as you mentioned. Thanks. Cheers,
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index ef7c4661314f..2c61557e1cc1 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -599,11 +599,8 @@ static inline void pcie_ecrc_get_policy(char *str) { } #ifdef CONFIG_PCIE_PTM void pci_ptm_init(struct pci_dev *dev); -int pci_enable_ptm(struct pci_dev *dev, u8 *granularity); #else static inline void pci_ptm_init(struct pci_dev *dev) { } -static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) -{ return -EINVAL; } #endif struct pci_dev_reset_methods { diff --git a/include/linux/pci.h b/include/linux/pci.h index 86c799c97b77..3d3dc07eac3b 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1610,6 +1610,13 @@ static inline bool pci_aer_available(void) { return false; } bool pci_ats_disabled(void); +#ifdef CONFIG_PCIE_PTM +int pci_enable_ptm(struct pci_dev *dev, u8 *granularity); +#else +static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) +{ return -EINVAL; } +#endif + void pci_cfg_access_lock(struct pci_dev *dev); bool pci_cfg_access_trylock(struct pci_dev *dev); void pci_cfg_access_unlock(struct pci_dev *dev);