Re: [PATCH] arm64: dts: qcom: sc8280xp: Define CMA region for CRD and X13s

From: Bjorn Andersson
Date: Mon Jan 16 2023 - 20:57:24 EST


On Fri, Jan 13, 2023 at 03:17:05PM +0100, Konrad Dybcio wrote:
>
>
> On 13.01.2023 05:10, Bjorn Andersson wrote:
> > Booting the CRD needs roughly 64MB CMA, rather than relying on people
> > adding boot parameters etc define a region for this, to remove the
> > allocation errors from e.g. NVME.
> >
> > While fixing the CRD define the same region for the X13s.
> >
> > Signed-off-by: Bjorn Andersson <quic_bjorande@xxxxxxxxxxx>
> > ---
> So, to reiterate, the NVMe needs ~64M of contiguous RAM for
> $reasons and without this patch, it is not guaranteed that
> it can always find such a block which causes issues and
> adding a CMA region resolves that, is that correct?
>

That's correct, $reasons being that NVMe complains about failures to
allocate CMA memory. I'll post a v2 with this in the commit message.

Thanks,
Bjorn

> Konrad
> > arch/arm64/boot/dts/qcom/sc8280xp-crd.dts | 9 +++++++++
> > .../boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 9 +++++++++
> > 2 files changed, 18 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts
> > index b29c02307839..e30a37c73b90 100644
> > --- a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts
> > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts
> > @@ -128,6 +128,15 @@ vreg_wwan: regulator-wwan {
> >
> > regulator-boot-on;
> > };
> > +
> > + reserved-memory {
> > + linux,cma {
> > + compatible = "shared-dma-pool";
> > + size = <0x0 0x8000000>;
> > + reusable;
> > + linux,cma-default;
> > + };
> > + };
> > };
> >
> > &apps_rsc {
> > diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > index 78e61a8184c5..5bfd1f0b2a24 100644
> > --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
> > @@ -153,6 +153,15 @@ vreg_wwan: regulator-wwan {
> > regulator-boot-on;
> > };
> >
> > + reserved-memory {
> > + linux,cma {
> > + compatible = "shared-dma-pool";
> > + size = <0x0 0x8000000>;
> > + reusable;
> > + linux,cma-default;
> > + };
> > + };
> > +
> > thermal-zones {
> > skin-temp-thermal {
> > polling-delay-passive = <250>;