Message ID | 20190423104505.38778-2-Jerry-Ch.chen@mediatek.com (mailing list archive) |
---|---|
State | RFC |
Headers | show |
Series | media: platform: Add support for Face Detection (FD) on mt8183 SoC | expand |
On Tue, Apr 23, 2019 at 06:45:00PM +0800, Jerry-ch Chen wrote: > From: Jerry-ch Chen <jerry-ch.chen@mediatek.com> > > This patch adds the binding for describing the shared memory > used to exchange meta data between the co-processor and Face > Detection (FD) unit of the camera system on Mediatek SoCs. > > Signed-off-by: Jerry-ch Chen <jerry-ch.chen@mediatek.com> > --- > .../mediatek,reserve-memory-fd_smem.txt | 44 +++++++++++++++++++ > 1 file changed, 44 insertions(+) > create mode 100644 Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > > diff --git a/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > new file mode 100644 > index 000000000000..52ae5071e238 > --- /dev/null > +++ b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > @@ -0,0 +1,44 @@ > +Mediatek FD Shared Memory binding > + > +This binding describes the shared memory, which serves the purpose of > +describing the shared memory region used to exchange data between Face > +Detection hardware (FD) and co-processor in Mediatek SoCs. > + > +The co-processor doesn't have the iommu so we need to use the physical > +address to access the shared buffer in the firmware. > + > +The Face Detection hardware (FD) can access memory through mt8183 IOMMU so > +it can use dma address to access the memory region. > +(See iommu/mediatek,iommu.txt for the detailed description of Mediatek IOMMU) > + > + > +Required properties: > + > +- compatible: must be "mediatek,reserve-memory-fd_smem" > + > +- reg: required for static allocation (see reserved-memory.txt for > + the detailed usage) > + > +- alloc-range: required for dynamic allocation. The range must > + between 0x00000400 and 0x100000000 due to the co-processer's > + addressing limitation > + > +- size: required for dynamic allocation. The unit is bytes. > + for Face Detection Unit, you need 1 MB at least. What's the most? I don't think you really need reserved memory here if you don't need a fixed address. The size is not that big that a contiguous allocation shouldn't be a problem (though with IOMMU you don't even need that). 'dma-ranges' can be used to set the kernel's dma mask and ensure a range below 0x10000000. Rob
Hi Rob, Thank you for your comments. On Thu, 2019-05-02 at 06:45 +0800, Rob Herring wrote: > On Tue, Apr 23, 2019 at 06:45:00PM +0800, Jerry-ch Chen wrote: > > From: Jerry-ch Chen <jerry-ch.chen@mediatek.com> > > > > This patch adds the binding for describing the shared memory > > used to exchange meta data between the co-processor and Face > > Detection (FD) unit of the camera system on Mediatek SoCs. > > > > Signed-off-by: Jerry-ch Chen <jerry-ch.chen@mediatek.com> > > --- > > .../mediatek,reserve-memory-fd_smem.txt | 44 +++++++++++++++++++ > > 1 file changed, 44 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > > > > diff --git a/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > > new file mode 100644 > > index 000000000000..52ae5071e238 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt > > @@ -0,0 +1,44 @@ > > +Mediatek FD Shared Memory binding > > + > > +This binding describes the shared memory, which serves the purpose of > > +describing the shared memory region used to exchange data between Face > > +Detection hardware (FD) and co-processor in Mediatek SoCs. > > + > > +The co-processor doesn't have the iommu so we need to use the physical > > +address to access the shared buffer in the firmware. > > + > > +The Face Detection hardware (FD) can access memory through mt8183 IOMMU so > > +it can use dma address to access the memory region. > > +(See iommu/mediatek,iommu.txt for the detailed description of Mediatek IOMMU) > > + > > + > > +Required properties: > > + > > +- compatible: must be "mediatek,reserve-memory-fd_smem" > > + > > +- reg: required for static allocation (see reserved-memory.txt for > > + the detailed usage) > > + > > +- alloc-range: required for dynamic allocation. The range must > > + between 0x00000400 and 0x100000000 due to the co-processer's > > + addressing limitation > > + > > +- size: required for dynamic allocation. The unit is bytes. > > + for Face Detection Unit, you need 1 MB at least. > > What's the most? > For this part, we would like to revise as following: alloc-range: required for dynamic allocation. The range must between 0x40000000 and 0x100000000 due to the co-processor's addressing limitation size: required for dynamic allocation. The unit is bytes. for Face Detection Unit, you need 518KB. > I don't think you really need reserved memory here if you don't need a > fixed address. The size is not that big that a contiguous allocation > shouldn't be a problem (though with IOMMU you don't even need that). > 'dma-ranges' can be used to set the kernel's dma mask and ensure a > range below 0x10000000. > FD driver might be able to use the FD memory pool inside the scp reserved memory instead of declaring reserved memory here. would you have any suggestion if so? Sincerely, Jerry > Rob
diff --git a/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt new file mode 100644 index 000000000000..52ae5071e238 --- /dev/null +++ b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-fd_smem.txt @@ -0,0 +1,44 @@ +Mediatek FD Shared Memory binding + +This binding describes the shared memory, which serves the purpose of +describing the shared memory region used to exchange data between Face +Detection hardware (FD) and co-processor in Mediatek SoCs. + +The co-processor doesn't have the iommu so we need to use the physical +address to access the shared buffer in the firmware. + +The Face Detection hardware (FD) can access memory through mt8183 IOMMU so +it can use dma address to access the memory region. +(See iommu/mediatek,iommu.txt for the detailed description of Mediatek IOMMU) + + +Required properties: + +- compatible: must be "mediatek,reserve-memory-fd_smem" + +- reg: required for static allocation (see reserved-memory.txt for + the detailed usage) + +- alloc-range: required for dynamic allocation. The range must + between 0x00000400 and 0x100000000 due to the co-processer's + addressing limitation + +- size: required for dynamic allocation. The unit is bytes. + for Face Detection Unit, you need 1 MB at least. + + +Example: + +The following example shows the FD shared memory setup for MT8183. + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + reserve-memory-fd_smem { + compatible = "mediatek,reserve-memory-fd_smem"; + size = <0 0x00100000>; + alignment = <0 0x1000>; + alloc-ranges = <0 0x40000000 0 0x100000000>; + }; + }; \ No newline at end of file