Re: [RFC][PATCH 1/3] dt-bindings: dma-buf: heaps: Describe CMA regions to be added to dmabuf heaps interface.

From: Rob Herring
Date: Wed Oct 30 2019 - 09:29:36 EST


On Fri, Oct 25, 2019 at 04:55:35PM -0700, John Stultz wrote:
> On Fri, Oct 25, 2019 at 4:32 PM Rob Herring <rob.e.herring@xxxxxxxxx> wrote:
> >
> > On Fri, Oct 25, 2019 at 5:51 PM John Stultz <john.stultz@xxxxxxxxxx> wrote:
> > >
> > > This binding specifies which CMA regions should be added to the
> > > dmabuf heaps interface.
> >
> > Is this an ION DT binding in disguise? I thought I killed that. ;)
>
> Maybe? I may not have been paying attention back then. :)
>
> > > +Example:
> > > +This example has a camera CMA node in reserved memory, which is then
> > > +referenced by the dmabuf-heap-cma node.
> > > +
> > > +
> > > + reserved-memory {
> > > + #address-cells = <2>;
> > > + #size-cells = <2>;
> > > + ranges;
> > > + ...
> > > + cma_camera: cma-camera {
> > > + compatible = "shared-dma-pool";
> > > + reg = <0x0 0x24C00000 0x0 0x4000000>;
> > > + reusable;
> > > + };
> > > + ...
> > > + };
> > > +
> > > + cma_heap {
> > > + compatible = "dmabuf-heap-cma";
> > > + memory-region = <&cma_camera>;
> >
> > Why the indirection here? Can't you just add a flag property to
> > reserved-memory nodes like we do to flag CMA nodes?
>
> Happy to try. Do you mean like with the "reuasable" tag? Or more like
> the "linux,cma-default" tag?

Probably like "linux,cma-default" as it is a hint for who to manage it
rather than a characteristic of the region.

> Do you have a preference for the flag name here?

Not really.


> > As I suspected, it's because in patch 2 you're just abusing DT to
> > instantiate platform devices. We already support binding drivers to
> > reserved-memory nodes directly.
>
> Sorry, one of those "when all you know how to do is hammer, everything
> looks like a nail" issues.
> Is there a specific example for binding drivers to reserved-memory
> nodes I can try to follow?

ramoops and I think there's a QCom driver.

Rob