Re: [PATCH 6/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add cma heap for libcamera softisp support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+Cc Laurent

Quoting Rob Clark (2024-11-01 12:33:44)
> On Fri, Oct 25, 2024 at 8:49 AM Bryan O'Donoghue
> <bryan.odonoghue@xxxxxxxxxx> wrote:
> >
> > libcamera softisp requires a linux,cma heap export in order to support
> > user-space debayering, 3a and export to other system components such as
> > pipewire, Firefox/Chromium - Hangouts, Zoom etc.
> 
> AFAIU libcamera could use udmabuf, etc, and there is no hw requirement
> for CMA.  So it doesn't seem we should be adding this to dt.  And I'd
> really prefer that we not be using CMA just for lolz.

I agree here. Otherwise this theoretically locks this memory to the pool
'forever'. It's not something we should define in device tree.

udmabuf provides a means to get memfd allocated memory which is not
physically contiguous - but /is/ managed by a dmabuf handle.

Presently with SoftISP being CPU only - physically contiguous memory is
not required.

Bryan, will this still be true when you have a GPU based ISP ? Will that
require physically contiguous memory ? Or will the mapping into the GPU
handle any required translations?

--
Kieran


> 
> BR,
> -R
> 
> > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
> > ---
> >  .../boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso     | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
> > index d62a20f018e7a7e1c7e77f0c927c2d9fe7ae8509..c8507afcd1e0d1f9b14b6e4edcbc646032e7b6c9 100644
> > --- a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
> > +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
> > @@ -9,6 +9,17 @@
> >  #include <dt-bindings/clock/qcom,camcc-sdm845.h>
> >  #include <dt-bindings/gpio/gpio.h>
> >
> > +/ {
> > +       reserved-memory {
> > +               linux,cma {
> > +                       compatible = "shared-dma-pool";
> > +                       size = <0x0 0x8000000>;
> > +                       reusable;
> > +                       linux,cma-default;
> > +               };
> > +       };
> > +};
> > +
> >  &camss {
> >         vdda-phy-supply = <&vreg_l1a_0p875>;
> >         vdda-pll-supply = <&vreg_l26a_1p2>;
> >
> > --
> > 2.47.0
> >
> >





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux