Message ID | 20201027080330.8877-2-vidyas@nvidia.com |
---|---|
State | Superseded |
Headers | show |
Series | Add support to configure DWC for ECRC | expand |
On 10/27/20, 4:03 AM, Vidya Sagar wrote: > > Adds pcie_is_ecrc_enabled() API to let other sub-systems (like DesignWare) > to query if ECRC policy is enabled and perform any configuration > required in those respective sub-systems. > > Signed-off-by: Vidya Sagar <vidyas@nvidia.com> Reviewed-by: Jingoo Han <jingoohan1@gmail.com> Best regards, Jingoo Han > --- > V2: > * None from V1 > > drivers/pci/pci.h | 2 ++ > drivers/pci/pcie/aer.c | 11 +++++++++++ > 2 files changed, 13 insertions(+) > > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index fa12f7cbc1a0..325fdbf91dde 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -575,9 +575,11 @@ static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { } > #ifdef CONFIG_PCIE_ECRC > void pcie_set_ecrc_checking(struct pci_dev *dev); > void pcie_ecrc_get_policy(char *str); > +bool pcie_is_ecrc_enabled(void); > #else > static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { } > static inline void pcie_ecrc_get_policy(char *str) { } > +static inline bool pcie_is_ecrc_enabled(void) { return false; } > #endif > > #ifdef CONFIG_PCIE_PTM > diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c > index 65dff5f3457a..24363c895aba 100644 > --- a/drivers/pci/pcie/aer.c > +++ b/drivers/pci/pcie/aer.c > @@ -207,6 +207,17 @@ void pcie_ecrc_get_policy(char *str) > > ecrc_policy = i; > } > + > +/** > + * pcie_is_ecrc_enabled - returns if ECRC is enabled in the system or not > + * > + * Returns 1 if ECRC policy is enabled and 0 otherwise > + */ > +bool pcie_is_ecrc_enabled(void) > +{ > + return ecrc_policy == ECRC_POLICY_ON; > +} > +EXPORT_SYMBOL(pcie_is_ecrc_enabled); > #endif /* CONFIG_PCIE_ECRC */ > > #define PCI_EXP_AER_FLAGS (PCI_EXP_DEVCTL_CERE | PCI_EXP_DEVCTL_NFERE | \ > -- > 2.17.1
On Wed, Oct 28, 2020 at 9:48 AM Vidya Sagar <vidyas@nvidia.com> wrote: > > Adds pcie_is_ecrc_enabled() API to let other sub-systems (like DesignWare) > to query if ECRC policy is enabled and perform any configuration > required in those respective sub-systems. > > Signed-off-by: Vidya Sagar <vidyas@nvidia.com> > --- > V2: > * None from V1 > > drivers/pci/pci.h | 2 ++ > drivers/pci/pcie/aer.c | 11 +++++++++++ > 2 files changed, 13 insertions(+) > > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index fa12f7cbc1a0..325fdbf91dde 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -575,9 +575,11 @@ static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { } > #ifdef CONFIG_PCIE_ECRC > void pcie_set_ecrc_checking(struct pci_dev *dev); > void pcie_ecrc_get_policy(char *str); > +bool pcie_is_ecrc_enabled(void); > #else > static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { } > static inline void pcie_ecrc_get_policy(char *str) { } > +static inline bool pcie_is_ecrc_enabled(void) { return false; } > #endif > > #ifdef CONFIG_PCIE_PTM > diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c > index 65dff5f3457a..24363c895aba 100644 > --- a/drivers/pci/pcie/aer.c > +++ b/drivers/pci/pcie/aer.c > @@ -207,6 +207,17 @@ void pcie_ecrc_get_policy(char *str) > > ecrc_policy = i; > } > + > +/** > + * pcie_is_ecrc_enabled - returns if ECRC is enabled in the system or not > + * > + * Returns 1 if ECRC policy is enabled and 0 otherwise How about 'Returns true if ECRC policy is enabled and false otherwise' ? > + */ > +bool pcie_is_ecrc_enabled(void) > +{ > + return ecrc_policy == ECRC_POLICY_ON; > +} > +EXPORT_SYMBOL(pcie_is_ecrc_enabled); > #endif /* CONFIG_PCIE_ECRC */ > > #define PCI_EXP_AER_FLAGS (PCI_EXP_DEVCTL_CERE | PCI_EXP_DEVCTL_NFERE | \ > -- > 2.17.1 >
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index fa12f7cbc1a0..325fdbf91dde 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -575,9 +575,11 @@ static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { } #ifdef CONFIG_PCIE_ECRC void pcie_set_ecrc_checking(struct pci_dev *dev); void pcie_ecrc_get_policy(char *str); +bool pcie_is_ecrc_enabled(void); #else static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { } static inline void pcie_ecrc_get_policy(char *str) { } +static inline bool pcie_is_ecrc_enabled(void) { return false; } #endif #ifdef CONFIG_PCIE_PTM diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index 65dff5f3457a..24363c895aba 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c @@ -207,6 +207,17 @@ void pcie_ecrc_get_policy(char *str) ecrc_policy = i; } + +/** + * pcie_is_ecrc_enabled - returns if ECRC is enabled in the system or not + * + * Returns 1 if ECRC policy is enabled and 0 otherwise + */ +bool pcie_is_ecrc_enabled(void) +{ + return ecrc_policy == ECRC_POLICY_ON; +} +EXPORT_SYMBOL(pcie_is_ecrc_enabled); #endif /* CONFIG_PCIE_ECRC */ #define PCI_EXP_AER_FLAGS (PCI_EXP_DEVCTL_CERE | PCI_EXP_DEVCTL_NFERE | \
Adds pcie_is_ecrc_enabled() API to let other sub-systems (like DesignWare) to query if ECRC policy is enabled and perform any configuration required in those respective sub-systems. Signed-off-by: Vidya Sagar <vidyas@nvidia.com> --- V2: * None from V1 drivers/pci/pci.h | 2 ++ drivers/pci/pcie/aer.c | 11 +++++++++++ 2 files changed, 13 insertions(+)