On Fri, Nov 1, 2024 at 8:18 AM Kieran Bingham <kieran.bingham@xxxxxxxxxxxxxxxx> wrote: > > +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? GPU does not require phys contiguous. OTOH it may/will impose some layout constraints. I'm kinda leaning towards teaching gbm to allocate YUV plus add a GBO_BO_USE_CPU usage bit if softisp also needs CPU access. (Modern adreno can do cached-coherent buffers, at some small performance cost, so that CPU access doesn't have to fall off a cliff.) But that doesn't exist yet. BR, -R > > -- > 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 > > > > > >