From: Brian Starkey <Brian.Starkey@arm.com>
To: John Stultz <john.stultz@linaro.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
Laura Abbott <labbott@redhat.com>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
Sumit Semwal <sumit.semwal@linaro.org>,
Liam Mark <lmark@codeaurora.org>,
Pratik Patel <pratikp@codeaurora.org>,
Vincent Donnefort <Vincent.Donnefort@arm.com>,
Sudipto Paul <Sudipto.Paul@arm.com>,
"Andrew F . Davis" <afd@ti.com>,
Christoph Hellwig <hch@infradead.org>,
Chenbo Feng <fengc@google.com>,
Alistair Strachan <astrachan@google.com>,
Hridya Valsaraju <hridya@google.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>, nd <nd@arm.com>
Subject: Re: [RESEND][PATCH v8 2/5] dma-buf: heaps: Add heap helpers
Date: Mon, 23 Sep 2019 22:08:55 +0000 [thread overview]
Message-ID: <20190923220849.ttwmt2xohptzznme@DESKTOP-E1NTVVP.localdomain> (raw)
In-Reply-To: <20190906184712.91980-3-john.stultz@linaro.org>
Hi John,
On Fri, Sep 06, 2019 at 06:47:09PM +0000, John Stultz wrote:
> Add generic helper dmabuf ops for dma heaps, so we can reduce
> the amount of duplicative code for the exported dmabufs.
>
> This code is an evolution of the Android ION implementation, so
> thanks to its original authors and maintainters:
> Rebecca Schultz Zavin, Colin Cross, Laura Abbott, and others!
>
> 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: dri-devel@lists.freedesktop.org
> Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> Signed-off-by: John Stultz <john.stultz@linaro.org>
Two minor things below.
> ---
> v2:
> * Removed cache management performance hack that I had
> accidentally folded in.
> * Removed stats code that was in helpers
> * Lots of checkpatch cleanups
> v3:
> * Uninline INIT_HEAP_HELPER_BUFFER (suggested by Christoph)
> * Switch to WARN on buffer destroy failure (suggested by Brian)
> * buffer->kmap_cnt decrementing cleanup (suggested by Christoph)
> * Extra buffer->vaddr checking in dma_heap_dma_buf_kmap
> (suggested by Brian)
> * Switch to_helper_buffer from macro to inline function
> (suggested by Benjamin)
> * Rename kmap->vmap (folded in from Andrew)
> * Use vmap for vmapping - not begin_cpu_access (folded in from
> Andrew)
> * Drop kmap for now, as its optional (folded in from Andrew)
> * Fold dma_heap_map_user into the single caller (foled in from
> Andrew)
> * Folded in patch from Andrew to track page list per heap not
> sglist, which simplifies the tracking logic
> v4:
> * Moved dma-heap.h change out to previous patch
> v6:
> * Minor cleanups and typo fixes suggested by Brian
> v7:
> * Removed stray ;
> * Make init_heap_helper_buffer lowercase, as suggested by Christoph
> * Add dmabuf export helper to reduce boilerplate code
> v8:
> * Remove unused private_flags value
> * Condense dma_heap_buffer and heap_helper_buffer (suggested by
> Christoph)
> * Fix indentation by using shorter argument names (suggested by
> Christoph)
> * Add flush_kernel_vmap_range/invalidate_kernel_vmap_range calls
> (suggested by Christoph)
> * Checkpatch whitespace fixups
> ---
...
> +
> +static void *dma_heap_buffer_vmap_get(struct heap_helper_buffer *buffer)
> +{
> + void *vaddr;
> +
> + if (buffer->vmap_cnt) {
> + buffer->vmap_cnt++;
> + return buffer->vaddr;
> + }
> + vaddr = dma_heap_map_kernel(buffer);
> + if (WARN_ONCE(!vaddr,
> + "heap->ops->map_kernel should return ERR_PTR on error"))
Looks like the message is out-of-date here.
...
> +
> +/**
> + * struct heap_helper_buffer - helper buffer metadata
> + * @heap: back pointer to the heap the buffer came from
> + * @dmabuf: backing dma-buf for this buffer
> + * @size: size of the buffer
> + * @flags: buffer specific flags
> + * @priv_virt pointer to heap specific private value
> + * @lock mutext to protect the data in this structure
> + * @vmap_cnt count of vmap references on the buffer
> + * @vaddr vmap'ed virtual address
> + * @pagecount number of pages in the buffer
> + * @pages list of page pointers
> + * @attachment list of device attachments
s/attachment/attachments/
With those fixed, feel free to add:
Reviewed-by: Brian Starkey <brian.starkey@arm.com>
Thanks,
-Brian
next prev parent reply other threads:[~2019-09-23 22:09 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-06 18:47 [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION) John Stultz
2019-09-06 18:47 ` [RESEND][PATCH v8 1/5] dma-buf: Add dma-buf heaps framework John Stultz
2019-09-23 22:08 ` Brian Starkey
2019-09-24 17:10 ` John Stultz
2019-09-06 18:47 ` [RESEND][PATCH v8 2/5] dma-buf: heaps: Add heap helpers John Stultz
2019-09-23 22:08 ` Brian Starkey [this message]
2019-09-06 18:47 ` [RESEND][PATCH v8 3/5] dma-buf: heaps: Add system heap to dmabuf heaps John Stultz
2019-09-23 22:09 ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 4/5] dma-buf: heaps: Add CMA " John Stultz
2019-09-23 22:10 ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 5/5] kselftests: Add dma-heap test John Stultz
2019-09-23 22:11 ` Brian Starkey
2019-09-26 21:36 ` John Stultz
2019-09-27 9:20 ` Brian Starkey
2019-09-19 16:51 ` [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION) Sumit Semwal
2019-09-24 16:22 ` Ayan Halder
2019-09-24 16:28 ` John Stultz
2019-10-09 17:37 ` Ayan Halder
2019-10-09 18:27 ` Andrew F. Davis
2019-10-14 9:07 ` Brian Starkey
2019-10-16 17:40 ` Andrew F. Davis
2019-10-17 19:14 ` John Stultz
2019-10-17 19:29 ` Andrew F. Davis
2019-10-17 20:57 ` John Stultz
2019-10-18 9:55 ` Brian Starkey
2019-10-18 18:33 ` John Stultz
2019-10-18 18:41 ` Ayan Halder
2019-10-18 18:49 ` John Stultz
2019-10-18 18:57 ` Ayan Halder
2019-10-18 19:04 ` John Stultz
2019-10-19 13:41 ` Andrew F. Davis
2019-10-21 9:18 ` Brian Starkey
2019-10-22 13:51 ` Ayan Halder
2019-10-18 18:51 ` Ayan Halder
2019-10-16 17:34 ` John Stultz
2019-09-30 13:40 ` Laura Abbott
[not found] ` <20190930074335.6636-1-hdanton@sina.com>
2019-10-01 20:50 ` [RESEND][PATCH v8 3/5] dma-buf: heaps: Add system heap to dmabuf heaps John Stultz
[not found] ` <20190930032651.8264-1-hdanton@sina.com>
2019-10-02 16:14 ` [RESEND][PATCH v8 1/5] dma-buf: Add dma-buf heaps framework John Stultz
[not found] ` <20190930081434.248-1-hdanton@sina.com>
2019-10-02 16:15 ` [RESEND][PATCH v8 4/5] dma-buf: heaps: Add CMA heap to dmabuf heaps John Stultz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190923220849.ttwmt2xohptzznme@DESKTOP-E1NTVVP.localdomain \
--to=brian.starkey@arm.com \
--cc=Sudipto.Paul@arm.com \
--cc=Vincent.Donnefort@arm.com \
--cc=afd@ti.com \
--cc=astrachan@google.com \
--cc=benjamin.gaignard@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=fengc@google.com \
--cc=hch@infradead.org \
--cc=hridya@google.com \
--cc=john.stultz@linaro.org \
--cc=labbott@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lmark@codeaurora.org \
--cc=nd@arm.com \
--cc=pratikp@codeaurora.org \
--cc=sumit.semwal@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).