[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACMJSet-1tbTnMOab2GvMEc-b6Y3Xq5AZEE4mrfiUOZ=65z3MQ@mail.gmail.com>
Date: Tue, 29 Aug 2023 21:03:42 +0200
From: Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, Arnd Bergmann <arnd@...db.de>,
Alex Elder <elder@...aro.org>,
Srini Kandagatla <srinivas.kandagatla@...aro.org>,
kernel@...cinc.com, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 00/11] arm64: qcom: add and enable SHM Bridge support
On Mon, 28 Aug 2023 at 23:24, Dmitry Baryshkov
<dmitry.baryshkov@...aro.org> wrote:
>
> On Mon, 28 Aug 2023 at 22:29, Bartosz Golaszewski
> <bartosz.golaszewski@...aro.org> wrote:
> >
> > SHM Bridge is a mechanism allowing to map limited areas of kernel's
> > virtual memory to physical addresses and share those with the
> > trustzone in order to not expose the entire RAM for SMC calls.
> >
> > This series adds support for Qualcomm SHM Bridge in form of a platform
> > driver and library functions available to users. It enables SHM Bridge
> > support for three platforms and contains a bunch of cleanups for
> > qcom-scm.
>
> Which users do you expect for this API?
>
This series adds a single user: the SCM driver. We have another user
almost ready for upstream in the form of the scminvoke driver and I
learned today, I can already convert another user upstream right now
that I will try to get ready for v2.
> Also, could you please describe your design a bit more? Why have you
> implemented the shm-bridge as a separate driver rather than a part of
> the SCM driver?
>
It's self-contained enough to be put into a separate module and not
all platforms support it so in order to avoid unnecessary ifdeffery in
the scm driver, I made it separate.
Bart
> >
> > Bartosz Golaszewski (11):
> > firmware: qcom-scm: drop unneeded 'extern' specifiers
> > firmware: qcom-scm: order includes alphabetically
> > firmware: qcom-scm: atomically assign and read the global __scm
> > pointer
> > firmware: qcom-scm: add support for SHM bridge operations
> > dt-bindings: document the Qualcomm TEE Shared Memory Bridge
> > firmware: qcom-shm-bridge: new driver
> > firmware: qcom-scm: use SHM bridge if available
> > arm64: defconfig: enable Qualcomm SHM bridge module
> > arm64: dts: qcom: sm8450: enable SHM bridge
> > arm64: dts: qcom: sa8775p: enable SHM bridge
> > arm64: dts: qcom: sm8150: enable SHM bridge
> >
> > .../bindings/firmware/qcom,shm-bridge.yaml | 36 ++
> > arch/arm64/boot/dts/qcom/sa8775p.dtsi | 4 +
> > arch/arm64/boot/dts/qcom/sm8150.dtsi | 4 +
> > arch/arm64/boot/dts/qcom/sm8450.dtsi | 4 +
> > arch/arm64/configs/defconfig | 1 +
> > drivers/firmware/Kconfig | 8 +
> > drivers/firmware/Makefile | 1 +
> > drivers/firmware/qcom-shm-bridge.c | 452 ++++++++++++++++++
> > drivers/firmware/qcom_scm-smc.c | 20 +-
> > drivers/firmware/qcom_scm.c | 106 +++-
> > drivers/firmware/qcom_scm.h | 3 +
> > include/linux/firmware/qcom/qcom_scm.h | 109 +++--
> > include/linux/firmware/qcom/shm-bridge.h | 32 ++
> > 13 files changed, 712 insertions(+), 68 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/firmware/qcom,shm-bridge.yaml
> > create mode 100644 drivers/firmware/qcom-shm-bridge.c
> > create mode 100644 include/linux/firmware/qcom/shm-bridge.h
> >
> > --
> > 2.39.2
> >
>
>
> --
> With best wishes
> Dmitry
Powered by blists - more mailing lists