From: Alex Elder <hidden> Date: 2021-01-06 02:39:26
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
From: Alex Elder <hidden> Date: 2021-01-06 02:40:07
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 <redacted>
---
include/linux/remoteproc/qcom_rproc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Alex Elder <hidden> Date: 2021-01-06 02:40:07
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 <redacted>
---
include/linux/soc/qcom/mdt_loader.h | 35 +++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
From: Alex Elder <hidden> Date: 2021-01-06 02:40:08
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 <redacted>
---
drivers/net/ipa/Kconfig | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
drivers/net/ipa/gsi_trans.h:170:56: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
170 | int gsi_trans_page_add(struct gsi_trans *trans, struct page *page, u32 size,
| ^~~~
vim +170 drivers/net/ipa/gsi_trans.h
9dd441e4ed5755c Alex Elder 2020-03-05 149
9dd441e4ed5755c Alex Elder 2020-03-05 150 /**
9dd441e4ed5755c Alex Elder 2020-03-05 151 * gsi_trans_cmd_add() - Add an immediate command to a transaction
9dd441e4ed5755c Alex Elder 2020-03-05 152 * @trans: Transaction
9dd441e4ed5755c Alex Elder 2020-03-05 153 * @buf: Buffer pointer for command payload
9dd441e4ed5755c Alex Elder 2020-03-05 154 * @size: Number of bytes in buffer
9dd441e4ed5755c Alex Elder 2020-03-05 155 * @addr: DMA address for payload
9dd441e4ed5755c Alex Elder 2020-03-05 156 * @direction: Direction of DMA transfer (or DMA_NONE if none required)
9dd441e4ed5755c Alex Elder 2020-03-05 157 * @opcode: IPA immediate command opcode
9dd441e4ed5755c Alex Elder 2020-03-05 158 */
9dd441e4ed5755c Alex Elder 2020-03-05 159 void gsi_trans_cmd_add(struct gsi_trans *trans, void *buf, u32 size,
9dd441e4ed5755c Alex Elder 2020-03-05 160 dma_addr_t addr, enum dma_data_direction direction,
9dd441e4ed5755c Alex Elder 2020-03-05 161 enum ipa_cmd_opcode opcode);
9dd441e4ed5755c Alex Elder 2020-03-05 162
9dd441e4ed5755c Alex Elder 2020-03-05 163 /**
9dd441e4ed5755c Alex Elder 2020-03-05 164 * gsi_trans_page_add() - Add a page transfer to a transaction
9dd441e4ed5755c Alex Elder 2020-03-05 165 * @trans: Transaction
9dd441e4ed5755c Alex Elder 2020-03-05 166 * @page: Page pointer
9dd441e4ed5755c Alex Elder 2020-03-05 167 * @size: Number of bytes (starting at offset) to transfer
9dd441e4ed5755c Alex Elder 2020-03-05 168 * @offset: Offset within page for start of transfer
9dd441e4ed5755c Alex Elder 2020-03-05 169 */
9dd441e4ed5755c Alex Elder 2020-03-05 @170 int gsi_trans_page_add(struct gsi_trans *trans, struct page *page, u32 size,
9dd441e4ed5755c Alex Elder 2020-03-05 171 u32 offset);
9dd441e4ed5755c Alex Elder 2020-03-05 172
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
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 <redacted>
@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
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 <redacted>
@Jakub, @Dave, as with patch 1, please take this through your tree as
well.
Regards,
Bjorn
From: Alex Elder <hidden> Date: 2021-01-06 19:44:34
On 1/6/21 1:34 AM, kernel test robot wrote:
Hi Alex,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
I think I just need to define at the top of "gsi_trans.h":
struct page;
I'll submit v2 of this series, with this one change
(assuming it's the correct fix). I will incorporate
Bjorn's review tags on the first two patches.
-Alex
drivers/net/ipa/gsi_trans.h:170:56: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
170 | int gsi_trans_page_add(struct gsi_trans *trans, struct page *page, u32 size,
| ^~~~
vim +170 drivers/net/ipa/gsi_trans.h
9dd441e4ed5755c Alex Elder 2020-03-05 149
9dd441e4ed5755c Alex Elder 2020-03-05 150 /**
9dd441e4ed5755c Alex Elder 2020-03-05 151 * gsi_trans_cmd_add() - Add an immediate command to a transaction
9dd441e4ed5755c Alex Elder 2020-03-05 152 * @trans: Transaction
9dd441e4ed5755c Alex Elder 2020-03-05 153 * @buf: Buffer pointer for command payload
9dd441e4ed5755c Alex Elder 2020-03-05 154 * @size: Number of bytes in buffer
9dd441e4ed5755c Alex Elder 2020-03-05 155 * @addr: DMA address for payload
9dd441e4ed5755c Alex Elder 2020-03-05 156 * @direction: Direction of DMA transfer (or DMA_NONE if none required)
9dd441e4ed5755c Alex Elder 2020-03-05 157 * @opcode: IPA immediate command opcode
9dd441e4ed5755c Alex Elder 2020-03-05 158 */
9dd441e4ed5755c Alex Elder 2020-03-05 159 void gsi_trans_cmd_add(struct gsi_trans *trans, void *buf, u32 size,
9dd441e4ed5755c Alex Elder 2020-03-05 160 dma_addr_t addr, enum dma_data_direction direction,
9dd441e4ed5755c Alex Elder 2020-03-05 161 enum ipa_cmd_opcode opcode);
9dd441e4ed5755c Alex Elder 2020-03-05 162
9dd441e4ed5755c Alex Elder 2020-03-05 163 /**
9dd441e4ed5755c Alex Elder 2020-03-05 164 * gsi_trans_page_add() - Add a page transfer to a transaction
9dd441e4ed5755c Alex Elder 2020-03-05 165 * @trans: Transaction
9dd441e4ed5755c Alex Elder 2020-03-05 166 * @page: Page pointer
9dd441e4ed5755c Alex Elder 2020-03-05 167 * @size: Number of bytes (starting at offset) to transfer
9dd441e4ed5755c Alex Elder 2020-03-05 168 * @offset: Offset within page for start of transfer
9dd441e4ed5755c Alex Elder 2020-03-05 169 */
9dd441e4ed5755c Alex Elder 2020-03-05 @170 int gsi_trans_page_add(struct gsi_trans *trans, struct page *page, u32 size,
9dd441e4ed5755c Alex Elder 2020-03-05 171 u32 offset);
9dd441e4ed5755c Alex Elder 2020-03-05 172
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org