* [PATCH net-next 0/3] net: ipa: support COMPILE_TEST
@ 2021-01-06 2:38 Alex Elder
2021-01-06 2:38 ` [PATCH net-next 1/3] remoteproc: qcom: expose types for COMPILE_TEST Alex Elder
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Alex Elder @ 2021-01-06 2:38 UTC (permalink / raw)
To: davem, kuba, bjorn.andersson, agross, ohad
Cc: evgreen, cpratapa, subashab, netdev, linux-arm-msm,
linux-remoteproc, linux-kernel
This series adds the IPA driver as a possible target when
the COMPILE_TEST configuration is enabled. Two small changes to
dependent subsystems needed to be made for this to work.
David/Jakub, it would be best to take all three of these patches
through the same tree. I have discussed this with Bjorn and he
agreed to ack them, and I request that you take them through
net-next.
Thanks.
-Alex
Alex Elder (3):
remoteproc: qcom: expose types for COMPILE_TEST
soc: qcom: mdt_loader: define stubs for COMPILE_TEST
net: ipa: support COMPILE_TEST
drivers/net/ipa/Kconfig | 10 +++++---
include/linux/remoteproc/qcom_rproc.h | 4 +--
include/linux/soc/qcom/mdt_loader.h | 35 +++++++++++++++++++++++++++
3 files changed, 43 insertions(+), 6 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH net-next 1/3] remoteproc: qcom: expose types for COMPILE_TEST 2021-01-06 2:38 [PATCH net-next 0/3] net: ipa: support COMPILE_TEST Alex Elder @ 2021-01-06 2:38 ` Alex Elder 2021-01-06 18:47 ` Bjorn Andersson 2021-01-06 2:38 ` [PATCH net-next 2/3] soc: qcom: mdt_loader: define stubs " Alex Elder 2021-01-06 2:38 ` [PATCH net-next 3/3] net: ipa: support COMPILE_TEST Alex Elder 2 siblings, 1 reply; 6+ messages in thread From: Alex Elder @ 2021-01-06 2:38 UTC (permalink / raw) To: bjorn.andersson, agross, ohad Cc: davem, kuba, evgreen, cpratapa, subashab, netdev, linux-arm-msm, linux-remoteproc, linux-kernel Stub functions are defined for SSR notifier registration in case QCOM_RPROC_COMMON is not configured. As a result, code that uses these functions can link successfully even if the common remoteproc code is not built. Code that registers an SSR notifier function likely needs the types defined in "qcom_rproc.h", but those are only exposed if QCOM_RPROC_COMMON is enabled. Rearrange the conditional definition so the qcom_ssr_notify_data structure and qcom_ssr_notify_type enumerated type are defined whether or not QCOM_RPROC_COMMON is enabled. Signed-off-by: Alex Elder <elder@linaro.org> --- include/linux/remoteproc/qcom_rproc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/remoteproc/qcom_rproc.h b/include/linux/remoteproc/qcom_rproc.h index 6470516621749..82b211518136e 100644 --- a/include/linux/remoteproc/qcom_rproc.h +++ b/include/linux/remoteproc/qcom_rproc.h @@ -3,8 +3,6 @@ struct notifier_block; -#if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON) - /** * enum qcom_ssr_notify_type - Startup/Shutdown events related to a remoteproc * processor. @@ -26,6 +24,8 @@ struct qcom_ssr_notify_data { bool crashed; }; +#if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON) + void *qcom_register_ssr_notifier(const char *name, struct notifier_block *nb); int qcom_unregister_ssr_notifier(void *notify, struct notifier_block *nb); -- 2.20.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next 1/3] remoteproc: qcom: expose types for COMPILE_TEST 2021-01-06 2:38 ` [PATCH net-next 1/3] remoteproc: qcom: expose types for COMPILE_TEST Alex Elder @ 2021-01-06 18:47 ` Bjorn Andersson 0 siblings, 0 replies; 6+ messages in thread From: Bjorn Andersson @ 2021-01-06 18:47 UTC (permalink / raw) To: Alex Elder Cc: agross, ohad, davem, kuba, evgreen, cpratapa, subashab, netdev, linux-arm-msm, linux-remoteproc, linux-kernel On Tue 05 Jan 20:38 CST 2021, Alex Elder wrote: > Stub functions are defined for SSR notifier registration in case > QCOM_RPROC_COMMON is not configured. As a result, code that uses > these functions can link successfully even if the common remoteproc > code is not built. > > Code that registers an SSR notifier function likely needs the > types defined in "qcom_rproc.h", but those are only exposed if > QCOM_RPROC_COMMON is enabled. > > Rearrange the conditional definition so the qcom_ssr_notify_data > structure and qcom_ssr_notify_type enumerated type are defined > whether or not QCOM_RPROC_COMMON is enabled. > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> @Jakub, @Dave, as this is a prerequisite for allowing IPA to be compile tested feel free to merge it together with patch 3. Regards, Bjorn > Signed-off-by: Alex Elder <elder@linaro.org> > --- > include/linux/remoteproc/qcom_rproc.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/remoteproc/qcom_rproc.h b/include/linux/remoteproc/qcom_rproc.h > index 6470516621749..82b211518136e 100644 > --- a/include/linux/remoteproc/qcom_rproc.h > +++ b/include/linux/remoteproc/qcom_rproc.h > @@ -3,8 +3,6 @@ > > struct notifier_block; > > -#if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON) > - > /** > * enum qcom_ssr_notify_type - Startup/Shutdown events related to a remoteproc > * processor. > @@ -26,6 +24,8 @@ struct qcom_ssr_notify_data { > bool crashed; > }; > > +#if IS_ENABLED(CONFIG_QCOM_RPROC_COMMON) > + > void *qcom_register_ssr_notifier(const char *name, struct notifier_block *nb); > int qcom_unregister_ssr_notifier(void *notify, struct notifier_block *nb); > > -- > 2.20.1 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH net-next 2/3] soc: qcom: mdt_loader: define stubs for COMPILE_TEST 2021-01-06 2:38 [PATCH net-next 0/3] net: ipa: support COMPILE_TEST Alex Elder 2021-01-06 2:38 ` [PATCH net-next 1/3] remoteproc: qcom: expose types for COMPILE_TEST Alex Elder @ 2021-01-06 2:38 ` Alex Elder 2021-01-06 18:47 ` Bjorn Andersson 2021-01-06 2:38 ` [PATCH net-next 3/3] net: ipa: support COMPILE_TEST Alex Elder 2 siblings, 1 reply; 6+ messages in thread From: Alex Elder @ 2021-01-06 2:38 UTC (permalink / raw) To: bjorn.andersson, agross Cc: davem, kuba, ohad, evgreen, cpratapa, subashab, netdev, linux-arm-msm, linux-remoteproc, linux-kernel Define stub functions for the exposed MDT functions in case QCOM_MDT_LOADER is not configured. This allows users of these functions to link correctly for COMPILE_TEST builds without QCOM_SCM enabled. Signed-off-by: Alex Elder <elder@linaro.org> --- include/linux/soc/qcom/mdt_loader.h | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/include/linux/soc/qcom/mdt_loader.h b/include/linux/soc/qcom/mdt_loader.h index e600baec68253..afd47217996b0 100644 --- a/include/linux/soc/qcom/mdt_loader.h +++ b/include/linux/soc/qcom/mdt_loader.h @@ -11,6 +11,8 @@ struct device; struct firmware; +#if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) + ssize_t qcom_mdt_get_size(const struct firmware *fw); int qcom_mdt_load(struct device *dev, const struct firmware *fw, const char *fw_name, int pas_id, void *mem_region, @@ -23,4 +25,37 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, phys_addr_t *reloc_base); void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len); +#else /* !IS_ENABLED(CONFIG_QCOM_MDT_LOADER) */ + +static inline ssize_t qcom_mdt_get_size(const struct firmware *fw) +{ + return -ENODEV; +} + +static inline int qcom_mdt_load(struct device *dev, const struct firmware *fw, + const char *fw_name, int pas_id, + void *mem_region, phys_addr_t mem_phys, + size_t mem_size, phys_addr_t *reloc_base) +{ + return -ENODEV; +} + +static inline int qcom_mdt_load_no_init(struct device *dev, + const struct firmware *fw, + const char *fw_name, int pas_id, + void *mem_region, phys_addr_t mem_phys, + size_t mem_size, + phys_addr_t *reloc_base) +{ + return -ENODEV; +} + +static inline void *qcom_mdt_read_metadata(const struct firmware *fw, + size_t *data_len) +{ + return ERR_PTR(-ENODEV); +} + +#endif /* !IS_ENABLED(CONFIG_QCOM_MDT_LOADER) */ + #endif -- 2.20.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next 2/3] soc: qcom: mdt_loader: define stubs for COMPILE_TEST 2021-01-06 2:38 ` [PATCH net-next 2/3] soc: qcom: mdt_loader: define stubs " Alex Elder @ 2021-01-06 18:47 ` Bjorn Andersson 0 siblings, 0 replies; 6+ messages in thread From: Bjorn Andersson @ 2021-01-06 18:47 UTC (permalink / raw) To: Alex Elder Cc: agross, davem, kuba, ohad, evgreen, cpratapa, subashab, netdev, linux-arm-msm, linux-remoteproc, linux-kernel On Tue 05 Jan 20:38 CST 2021, Alex Elder wrote: > Define stub functions for the exposed MDT functions in case > QCOM_MDT_LOADER is not configured. This allows users of these > functions to link correctly for COMPILE_TEST builds without > QCOM_SCM enabled. > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> @Jakub, @Dave, as with patch 1, please take this through your tree as well. Regards, Bjorn > Signed-off-by: Alex Elder <elder@linaro.org> > --- > include/linux/soc/qcom/mdt_loader.h | 35 +++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/include/linux/soc/qcom/mdt_loader.h b/include/linux/soc/qcom/mdt_loader.h > index e600baec68253..afd47217996b0 100644 > --- a/include/linux/soc/qcom/mdt_loader.h > +++ b/include/linux/soc/qcom/mdt_loader.h > @@ -11,6 +11,8 @@ > struct device; > struct firmware; > > +#if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) > + > ssize_t qcom_mdt_get_size(const struct firmware *fw); > int qcom_mdt_load(struct device *dev, const struct firmware *fw, > const char *fw_name, int pas_id, void *mem_region, > @@ -23,4 +25,37 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, > phys_addr_t *reloc_base); > void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len); > > +#else /* !IS_ENABLED(CONFIG_QCOM_MDT_LOADER) */ > + > +static inline ssize_t qcom_mdt_get_size(const struct firmware *fw) > +{ > + return -ENODEV; > +} > + > +static inline int qcom_mdt_load(struct device *dev, const struct firmware *fw, > + const char *fw_name, int pas_id, > + void *mem_region, phys_addr_t mem_phys, > + size_t mem_size, phys_addr_t *reloc_base) > +{ > + return -ENODEV; > +} > + > +static inline int qcom_mdt_load_no_init(struct device *dev, > + const struct firmware *fw, > + const char *fw_name, int pas_id, > + void *mem_region, phys_addr_t mem_phys, > + size_t mem_size, > + phys_addr_t *reloc_base) > +{ > + return -ENODEV; > +} > + > +static inline void *qcom_mdt_read_metadata(const struct firmware *fw, > + size_t *data_len) > +{ > + return ERR_PTR(-ENODEV); > +} > + > +#endif /* !IS_ENABLED(CONFIG_QCOM_MDT_LOADER) */ > + > #endif > -- > 2.20.1 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH net-next 3/3] net: ipa: support COMPILE_TEST 2021-01-06 2:38 [PATCH net-next 0/3] net: ipa: support COMPILE_TEST Alex Elder 2021-01-06 2:38 ` [PATCH net-next 1/3] remoteproc: qcom: expose types for COMPILE_TEST Alex Elder 2021-01-06 2:38 ` [PATCH net-next 2/3] soc: qcom: mdt_loader: define stubs " Alex Elder @ 2021-01-06 2:38 ` Alex Elder 2 siblings, 0 replies; 6+ messages in thread From: Alex Elder @ 2021-01-06 2:38 UTC (permalink / raw) To: davem, kuba Cc: bjorn.andersson, agross, ohad, evgreen, cpratapa, subashab, netdev, linux-arm-msm, linux-remoteproc, linux-kernel Arrange for the IPA driver to be built when COMPILE_TEST is enabled. Update the help text to reflect that we support two Qualcomm SoCs. Suggested-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Alex Elder <elder@linaro.org> --- drivers/net/ipa/Kconfig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/ipa/Kconfig b/drivers/net/ipa/Kconfig index 9f0d2a93379c5..10a0e041ee775 100644 --- a/drivers/net/ipa/Kconfig +++ b/drivers/net/ipa/Kconfig @@ -1,9 +1,10 @@ config QCOM_IPA tristate "Qualcomm IPA support" - depends on ARCH_QCOM && 64BIT && NET - depends on QCOM_Q6V5_MSS + depends on 64BIT && NET + depends on ARCH_QCOM || COMPILE_TEST + depends on QCOM_RPROC_COMMON || (QCOM_RPROC_COMMON=n && COMPILE_TEST) + select QCOM_MDT_LOADER if ARCH_QCOM select QCOM_QMI_HELPERS - select QCOM_MDT_LOADER help Choose Y or M here to include support for the Qualcomm IP Accelerator (IPA), a hardware block present in some @@ -11,7 +12,8 @@ config QCOM_IPA that is capable of generic hardware handling of IP packets, including routing, filtering, and NAT. Currently the IPA driver supports only basic transport of network traffic - between the AP and modem, on the Qualcomm SDM845 SoC. + between the AP and modem, on the Qualcomm SDM845 and SC7180 + SoCs. Note that if selected, the selection type must match that of QCOM_Q6V5_COMMON (Y or M). -- 2.20.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-01-06 18:48 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-01-06 2:38 [PATCH net-next 0/3] net: ipa: support COMPILE_TEST Alex Elder 2021-01-06 2:38 ` [PATCH net-next 1/3] remoteproc: qcom: expose types for COMPILE_TEST Alex Elder 2021-01-06 18:47 ` Bjorn Andersson 2021-01-06 2:38 ` [PATCH net-next 2/3] soc: qcom: mdt_loader: define stubs " Alex Elder 2021-01-06 18:47 ` Bjorn Andersson 2021-01-06 2:38 ` [PATCH net-next 3/3] net: ipa: support COMPILE_TEST Alex Elder
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox