Re: [PATCH V3 0/8] Add new driver for WCSS secure PIL loading
From: Jeff Johnson
Date: Fri Jan 24 2025 - 13:00:57 EST
On 1/7/25 02:16, Gokul Sriram Palanisamy wrote:
> This series depends on Sricharan's tmel-qmp mailbox driver series v2 [1].
>
> - Secure PIL is signed, split firmware images which only TrustZone (TZ)
> can authenticate and load. Linux kernel will send a request to TZ to
> authenticate and load the PIL images.
>
> - When secure PIL support was added to the existing wcss PIL driver
> earlier in [2], Bjorn suggested not to overload the existing WCSS
> rproc driver, instead post a new driver for PAS based IPQ WCSS driver.
> This series adds a new secure PIL driver for the same.
>
> - Also adds changes to scm to pass metadata size as required for IPQ5332,
> reposted from [3].
>
> [1]
> https://patchwork.kernel.org/project/linux-arm-msm/cover/20241231054900.2144961-1-quic_srichara@xxxxxxxxxxx/
>
> [2]
> https://patchwork.kernel.org/project/linux-arm-msm/patch/1611984013-10201-3-git-send-email-gokulsri@xxxxxxxxxxxxxx/
>
> [3]
> https://patchwork.kernel.org/project/linux-arm-msm/patch/20240820055618.267554-6-quic_gokulsri@xxxxxxxxxxx/
>
> changes in v3:
> - fixed copyright years and markings based on Jeff's comments.
> - replaced devm_ioremap_wc() with ioremap_wc() in
> wcss_sec_copy_segment().
> - replaced rproc_alloc() and rproc_add() with their devres
> counterparts.
> - added mailbox call to tmelcom for secure image authentication
> as required for IPQ5424. Added ipq5424 APCS comatible required.
> - added changes to scm call to pass metadata size as equired for
> IPQ5332.
>
> changes in v2:
> - Removed dependency of this series to q6 clock removal series
> as recommended by Krzysztof
>
> Gokul Sriram Palanisamy (3):
> dt-bindings: mailbox: qcom: Add IPQ5424 APCS compatible
> mailbox: qcom: Add support for IPQ5424 APCS IPC
> arm64: dts: qcom: ipq5424: add nodes to bring up q6
>
> Manikanta Mylavarapu (4):
> firmware: qcom_scm: ipq5332: add support to pass metadata size
> dt-bindings: remoteproc: qcom: document hexagon based WCSS secure PIL
> arm64: dts: qcom: ipq5332: add nodes to bringup q6
> arm64: dts: qcom: ipq9574: add nodes to bring up q6
>
> Vignesh Viswanathan (1):
> remoteproc: qcom: add hexagon based WCSS secure PIL driver
>
> .../mailbox/qcom,apcs-kpss-global.yaml | 1 +
> .../remoteproc/qcom,wcss-sec-pil.yaml | 131 ++++++
> arch/arm64/boot/dts/qcom/ipq5332.dtsi | 64 ++-
> arch/arm64/boot/dts/qcom/ipq5424.dtsi | 80 +++-
> arch/arm64/boot/dts/qcom/ipq9574.dtsi | 60 ++-
> drivers/firmware/qcom/qcom_scm.c | 13 +-
> drivers/firmware/qcom/qcom_scm.h | 1 +
> drivers/mailbox/qcom-apcs-ipc-mailbox.c | 1 +
> drivers/remoteproc/Kconfig | 22 +
> drivers/remoteproc/Makefile | 1 +
> drivers/remoteproc/qcom_q6v5_wcss_sec.c | 406 ++++++++++++++++++
> 11 files changed, 775 insertions(+), 5 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,wcss-sec-pil.yaml
> create mode 100644 drivers/remoteproc/qcom_q6v5_wcss_sec.c
>
This series is listed as a dependency of a WLAN series, and when I pull this
series using my automation I see the following kernel-doc warnings. I don't
know if these are existing issues, or issues introduced by the series, since
the automation runs kernel-doc on all of the patched files.
drivers/firmware/qcom/qcom_scm.c:302: warning: No description found for return value of 'qcom_scm_call'
drivers/firmware/qcom/qcom_scm.c:328: warning: No description found for return value of 'qcom_scm_call_atomic'
drivers/firmware/qcom/qcom_scm.c:425: warning: No description found for return value of 'qcom_scm_set_warm_boot_addr'
drivers/firmware/qcom/qcom_scm.c:438: warning: No description found for return value of 'qcom_scm_set_cold_boot_addr'
drivers/firmware/qcom/qcom_scm.c:675: warning: No description found for return value of 'qcom_scm_pas_mem_setup'
drivers/firmware/qcom/qcom_scm.c:714: warning: No description found for return value of 'qcom_scm_pas_auth_and_reset'
drivers/firmware/qcom/qcom_scm.c:750: warning: No description found for return value of 'qcom_scm_pas_shutdown'
drivers/firmware/qcom/qcom_scm.c:787: warning: No description found for return value of 'qcom_scm_pas_supported'
drivers/firmware/qcom/qcom_scm.c:892: warning: No description found for return value of 'qcom_scm_restore_sec_cfg_available'
drivers/firmware/qcom/qcom_scm.c:1070: warning: No description found for return value of 'qcom_scm_assign_mem'
drivers/firmware/qcom/qcom_scm.c:1141: warning: No description found for return value of 'qcom_scm_ocmem_lock_available'
drivers/firmware/qcom/qcom_scm.c:1158: warning: No description found for return value of 'qcom_scm_ocmem_lock'
drivers/firmware/qcom/qcom_scm.c:1182: warning: No description found for return value of 'qcom_scm_ocmem_unlock'
drivers/firmware/qcom/qcom_scm.c:1298: warning: No description found for return value of 'qcom_scm_hdcp_available'
drivers/firmware/qcom/qcom_scm.c:1323: warning: No description found for return value of 'qcom_scm_hdcp_req'
drivers/firmware/qcom/qcom_scm.c:1879: warning: No description found for return value of 'qcom_scm_is_available'
drivers/firmware/qcom/qcom_scm.h:47: warning: missing initial short description on line:
* struct qcom_scm_desc
drivers/firmware/qcom/qcom_scm.h:57: warning: Function parameter or struct member 'svc' not described in 'qcom_scm_desc'
drivers/firmware/qcom/qcom_scm.h:57: warning: Function parameter or struct member 'cmd' not described in 'qcom_scm_desc'
drivers/firmware/qcom/qcom_scm.h:57: warning: Function parameter or struct member 'owner' not described in 'qcom_scm_desc'
drivers/firmware/qcom/qcom_scm.h:60: warning: missing initial short description on line:
* struct qcom_scm_res
21 warnings as Errors