On 10/22/19 3:21 AM, Neil Armstrong wrote: > Hi John, > > On 21/10/2019 21:03, John Stultz wrote: >> Lucky number 13! :) >> >> Last week in v12 I had re-added some symbol exports to support >> later patches I have pending to enable loading heaps from >> modules. He reminded me that back around v3 (its been awhile!) I >> had removed those exports due to concerns about the fact that we >> don't support module removal. >> >> So I'm respinning the patches, removing the exports again. I'll >> submit a patch to re-add them in a later series enabling moduels >> which can be reviewed indepently. >> >> With that done, lets get on to the boilerplate! >> >> The patchset implements per-heap devices which can be opened >> directly and then an ioctl is used to allocate a dmabuf from the >> heap. >> >> The interface is similar, but much simpler then IONs, only >> providing an ALLOC ioctl. >> >> Also, I've provided relatively simple system and cma heaps. >> >> I've booted and tested these patches with AOSP on the HiKey960 >> using the kernel tree here: >> https://git.linaro.org/people/john.stultz/android-dev.git/log/?h=dev/dma-buf-heap > > Do you have a 4.19 tree with the changes ? I tried but the xarray idr replacement > is missing... so I can't test with our android-amlogic-bmeson-4.19 tree. > Just a note, we switched to xarray around v4 time frame of this series, so you may be able to find the IDR based code and plug it in for a 4.19 port. Andrew > If you can provide, I'll be happy to test the serie and the gralloc changes. > > Neil > >> >> And the userspace changes here: >> https://android-review.googlesource.com/c/device/linaro/hikey/+/909436 >> >> Compared to ION, this patchset is missing the system-contig, >> carveout and chunk heaps, as I don't have a device that uses >> those, so I'm unable to do much useful validation there. >> Additionally we have no upstream users of chunk or carveout, >> and the system-contig has been deprecated in the common/andoid-* >> kernels, so this should be ok. >> >> I've also removed the stats accounting, since any such >> accounting should be implemented by dma-buf core or the heaps >> themselves. >> >> New in v13: >> * Re-remove symbol exports, per discussion with Brian. I'll >> resubmit these separately in a later patch so they can be >> independently reviewed >> >> thanks >> -john >> >> Cc: Laura Abbott <labbott@xxxxxxxxxx> >> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> >> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> >> Cc: Liam Mark <lmark@xxxxxxxxxxxxxx> >> Cc: Pratik Patel <pratikp@xxxxxxxxxxxxxx> >> Cc: Brian Starkey <Brian.Starkey@xxxxxxx> >> Cc: Vincent Donnefort <Vincent.Donnefort@xxxxxxx> >> Cc: Sudipto Paul <Sudipto.Paul@xxxxxxx> >> Cc: Andrew F. Davis <afd@xxxxxx> >> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> >> Cc: Chenbo Feng <fengc@xxxxxxxxxx> >> Cc: Alistair Strachan <astrachan@xxxxxxxxxx> >> Cc: Hridya Valsaraju <hridya@xxxxxxxxxx> >> Cc: Hillf Danton <hdanton@xxxxxxxx> >> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx >> >> >> >> Andrew F. Davis (1): >> dma-buf: Add dma-buf heaps framework >> >> John Stultz (4): >> dma-buf: heaps: Add heap helpers >> dma-buf: heaps: Add system heap to dmabuf heaps >> dma-buf: heaps: Add CMA heap to dmabuf heaps >> kselftests: Add dma-heap test >> >> MAINTAINERS | 18 ++ >> drivers/dma-buf/Kconfig | 11 + >> drivers/dma-buf/Makefile | 2 + >> drivers/dma-buf/dma-heap.c | 269 ++++++++++++++++++ >> drivers/dma-buf/heaps/Kconfig | 14 + >> drivers/dma-buf/heaps/Makefile | 4 + >> drivers/dma-buf/heaps/cma_heap.c | 178 ++++++++++++ >> drivers/dma-buf/heaps/heap-helpers.c | 268 +++++++++++++++++ >> drivers/dma-buf/heaps/heap-helpers.h | 55 ++++ >> drivers/dma-buf/heaps/system_heap.c | 124 ++++++++ >> include/linux/dma-heap.h | 59 ++++ >> include/uapi/linux/dma-heap.h | 55 ++++ >> tools/testing/selftests/dmabuf-heaps/Makefile | 9 + >> .../selftests/dmabuf-heaps/dmabuf-heap.c | 238 ++++++++++++++++ >> 14 files changed, 1304 insertions(+) >> create mode 100644 drivers/dma-buf/dma-heap.c >> create mode 100644 drivers/dma-buf/heaps/Kconfig >> create mode 100644 drivers/dma-buf/heaps/Makefile >> create mode 100644 drivers/dma-buf/heaps/cma_heap.c >> create mode 100644 drivers/dma-buf/heaps/heap-helpers.c >> create mode 100644 drivers/dma-buf/heaps/heap-helpers.h >> create mode 100644 drivers/dma-buf/heaps/system_heap.c >> create mode 100644 include/linux/dma-heap.h >> create mode 100644 include/uapi/linux/dma-heap.h >> create mode 100644 tools/testing/selftests/dmabuf-heaps/Makefile >> create mode 100644 tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c >> > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel