Message ID | 20191118202332.109172-1-john.stultz@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | DMA-BUF Heaps (destaging ION) | expand |
On 11/18/19 3:23 PM, John Stultz wrote: > Just wanted to resend v16 with a few minor changes. > > This 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 > > And the reviewed (+2'ed) 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 ION's Carveout and Chunk heaps got dropped from upstream, so no gap there. :) Andrew > 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 v16: > * Typo fix suggested by Hridya Valsaraju <hridya@google.com> > * Add extra error and ioctl compatibility testing suggested by > Daniel Vetter to the kselftest test > > Thanks again for all the reviews and feedback! > -john > > Cc: Laura Abbott <labbott@redhat.com> > Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> > Cc: Sumit Semwal <sumit.semwal@linaro.org> > Cc: Liam Mark <lmark@codeaurora.org> > Cc: Pratik Patel <pratikp@codeaurora.org> > Cc: Brian Starkey <Brian.Starkey@arm.com> > Cc: Vincent Donnefort <Vincent.Donnefort@arm.com> > Cc: Sudipto Paul <Sudipto.Paul@arm.com> > Cc: Andrew F. Davis <afd@ti.com> > Cc: Christoph Hellwig <hch@infradead.org> > Cc: Chenbo Feng <fengc@google.com> > Cc: Alistair Strachan <astrachan@google.com> > Cc: Hridya Valsaraju <hridya@google.com> > Cc: Sandeep Patil <sspatil@google.com> > Cc: Hillf Danton <hdanton@sina.com> > Cc: Dave Airlie <airlied@gmail.com> > Cc: dri-devel@lists.freedesktop.org > > 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 | 297 +++++++++++++ > drivers/dma-buf/heaps/Kconfig | 14 + > drivers/dma-buf/heaps/Makefile | 4 + > drivers/dma-buf/heaps/cma_heap.c | 177 ++++++++ > drivers/dma-buf/heaps/heap-helpers.c | 271 ++++++++++++ > drivers/dma-buf/heaps/heap-helpers.h | 53 +++ > drivers/dma-buf/heaps/system_heap.c | 123 ++++++ > include/linux/dma-heap.h | 59 +++ > include/uapi/linux/dma-heap.h | 53 +++ > tools/testing/selftests/dmabuf-heaps/Makefile | 6 + > .../selftests/dmabuf-heaps/dmabuf-heap.c | 396 ++++++++++++++++++ > 14 files changed, 1484 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 >