Lucas De Marchi
7938f42181
dma-buf-map: Rename to iosys-map
...
Rename struct dma_buf_map to struct iosys_map and corresponding APIs.
Over time dma-buf-map grew up to more functionality than the one used by
dma-buf: in fact it's just a shim layer to abstract system memory, that
can be accessed via regular load and store, from IO memory that needs to
be acessed via arch helpers.
The idea is to extend this API so it can fulfill other needs, internal
to a single driver. Example: in the i915 driver it's desired to share
the implementation for integrated graphics, which uses mostly system
memory, with discrete graphics, which may need to access IO memory.
The conversion was mostly done with the following semantic patch:
@r1@
@@
- struct dma_buf_map
+ struct iosys_map
@r2@
@@
(
- DMA_BUF_MAP_INIT_VADDR
+ IOSYS_MAP_INIT_VADDR
|
- dma_buf_map_set_vaddr
+ iosys_map_set_vaddr
|
- dma_buf_map_set_vaddr_iomem
+ iosys_map_set_vaddr_iomem
|
- dma_buf_map_is_equal
+ iosys_map_is_equal
|
- dma_buf_map_is_null
+ iosys_map_is_null
|
- dma_buf_map_is_set
+ iosys_map_is_set
|
- dma_buf_map_clear
+ iosys_map_clear
|
- dma_buf_map_memcpy_to
+ iosys_map_memcpy_to
|
- dma_buf_map_incr
+ iosys_map_incr
)
@@
@@
- #include <linux/dma-buf-map.h>
+ #include <linux/iosys-map.h>
Then some files had their includes adjusted and some comments were
update to remove mentions to dma-buf-map.
Since this is not specific to dma-buf anymore, move the documentation to
the "Bus-Independent Device Accesses" section.
v2:
- Squash patches
v3:
- Fix wrong removal of dma-buf.h from MAINTAINERS
- Move documentation from dma-buf.rst to device-io.rst
v4:
- Change documentation title and level
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Sumit Semwal <sumit.semwal@linaro.org >
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20220204170541.829227-1-lucas.demarchi@intel.com
2022-02-07 16:35:35 -08:00
Weizhao Ouyang
54329e6f7b
dma-buf: cma_heap: Fix mutex locking section
...
Fix cma_heap_buffer mutex locking critical section to protect vmap_cnt
and vaddr.
Fixes: a5d2d29e24 ("dma-buf: heaps: Move heap-helper logic into the cma_heap implementation")
Signed-off-by: Weizhao Ouyang <o451686892@gmail.com >
Acked-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220104073545.124244-1-o451686892@gmail.com
2022-01-13 16:35:21 +05:30
Guangming
679d94cd7d
dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow
...
For previous version, it uses 'sg_table.nent's to traverse sg_table in pages
free flow.
However, 'sg_table.nents' is reassigned in 'dma_map_sg', it means the number of
created entries in the DMA adderess space.
So, use 'sg_table.nents' in pages free flow will case some pages can't be freed.
Here we should use sg_table.orig_nents to free pages memory, but use the
sgtable helper 'for each_sgtable_sg'(, instead of the previous rather common
helper 'for_each_sg' which maybe cause memory leak) is much better.
Fixes: d963ab0f15 ("dma-buf: system_heap: Allocate higher order pages if available")
Signed-off-by: Guangming <Guangming.Cao@mediatek.com >
Reviewed-by: Robin Murphy <robin.murphy@arm.com >
Cc: <stable@vger.kernel.org > # 5.11.*
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211126074904.88388-1-guangming.cao@mediatek.com
2021-12-01 15:30:10 +05:30
John Stultz
5ad2d11fea
dma-buf: system_heap: Avoid warning on mid-order allocations
...
When trying to do mid-order allocations, set __GFP_NOWARN to
avoid warning messages if the allocation fails, as we will
still fall back to single page allocatitions in that case.
This is the similar to what we already do for large order
allocations.
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Christian Koenig <christian.koenig@amd.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: Leo Yan <leo.yan@linaro.org >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: John Stultz <john.stultz@linaro.org >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210909023741.2592429-1-john.stultz@linaro.org
2021-09-14 20:25:46 +05:30
Dave Airlie
51c3b916a4
Merge tag 'drm-misc-next-2021-03-03' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
...
drm-misc-next for 5.13:
UAPI Changes:
Cross-subsystem Changes:
Core Changes:
- %p4cc printk format modifier
- atomic: introduce drm_crtc_commit_wait, rework atomic plane state
helpers to take the drm_commit_state structure
- dma-buf: heaps rework to return a struct dma_buf
- simple-kms: Add plate state helpers
- ttm: debugfs support, removal of sysfs
Driver Changes:
- Convert drivers to shadow plane helpers
- arc: Move to drm/tiny
- ast: cursor plane reworks
- gma500: Remove TTM and medfield support
- mxsfb: imx8mm support
- panfrost: MMU IRQ handling rework
- qxl: rework to better handle resources deallocation, locking
- sun4i: Add alpha properties for UI and VI layers
- vc4: RPi4 CEC support
- vmwgfx: doc cleanup
Signed-off-by: Dave Airlie <airlied@redhat.com >
From: Maxime Ripard <maxime@cerno.tech >
Link: https://patchwork.freedesktop.org/patch/msgid/20210303100600.dgnkadonzuvfnu22@gilmour
2021-03-16 17:08:46 +10:00
John Stultz
2eebbdbaab
dma-buf: heaps: Fix the name used when exporting dmabufs to be the actual heap name
...
By default dma_buf_export() sets the exporter name to be
KBUILD_MODNAME. Unfortunately this may not be identical to the
string used as the heap name (ie: "system" vs "system_heap").
This can cause some minor confusion with tooling, and there is
the future potential where multiple heap types may be exported
by the same module (but would all have the same name).
So to avoid all this, set the exporter exp_name to the heap name.
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: John Stultz <john.stultz@linaro.org >
Acked-by: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210209194818.2459062-2-john.stultz@linaro.org
2021-02-25 18:28:24 +05:30
John Stultz
abf4451b34
dma-buf: heaps: Rework heap allocation hooks to return struct dma_buf instead of fd
...
Every heap needs to create a dmabuf and then export it to a fd
via dma_buf_fd(), so to consolidate things a bit, have the heaps
just return a struct dmabuf * and let the top level
dma_heap_buffer_alloc() call handle creating the fd via
dma_buf_fd().
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
[sumits: minor reword of commit message]
Link: https://patchwork.freedesktop.org/patch/msgid/20210119204508.9256-3-john.stultz@linaro.org
(cherry picked from commit c7f59e3dd6 )
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
2021-02-24 21:04:54 +05:30
John Stultz
cc84a8e65d
dma-buf: system_heap: Make sure to return an error if we abort
...
If we abort from the allocation due to a fatal_signal_pending(),
be sure we report an error so any return code paths don't trip
over the fact that the allocation didn't succeed.
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Suggested-by: Suren Baghdasaryan <surenb@google.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210119204508.9256-1-john.stultz@linaro.org
(cherry picked from commit 14a117252f )
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
2021-02-24 21:04:25 +05:30
John Stultz
c7f59e3dd6
dma-buf: heaps: Rework heap allocation hooks to return struct dma_buf instead of fd
...
Every heap needs to create a dmabuf and then export it to a fd
via dma_buf_fd(), so to consolidate things a bit, have the heaps
just return a struct dmabuf * and let the top level
dma_heap_buffer_alloc() call handle creating the fd via
dma_buf_fd().
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
[sumits: minor reword of commit message]
Link: https://patchwork.freedesktop.org/patch/msgid/20210119204508.9256-3-john.stultz@linaro.org
2021-01-22 13:34:39 +05:30
John Stultz
14a117252f
dma-buf: system_heap: Make sure to return an error if we abort
...
If we abort from the allocation due to a fatal_signal_pending(),
be sure we report an error so any return code paths don't trip
over the fact that the allocation didn't succeed.
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Suggested-by: Suren Baghdasaryan <surenb@google.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210119204508.9256-1-john.stultz@linaro.org
2021-01-22 13:34:21 +05:30
John Stultz
a0adc8eabb
dma-buf: cma_heap: Fix memory leak in CMA heap
...
Bing Song noticed the CMA heap was leaking memory due to a flub
I made in commit a5d2d29e24 ("dma-buf: heaps: Move heap-helper
logic into the cma_heap implementation"), and provided this fix
which ensures the pagelist is also freed on release.
Cc: Bing Song <bing.song@nxp.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reported-by: Bing Song <bing.song@nxp.com >
Fixes: a5d2d29e24 ("dma-buf: heaps: Move heap-helper logic into the cma_heap implementation")
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210107202616.75170-1-john.stultz@linaro.org
2021-01-10 23:08:21 +05:30
John Stultz
8075c3005e
dma-buf: cma_heap: Include linux/vmalloc.h to fix build failures on MIPS
...
We need to include <linux/vmalloc.h> in order for MIPS to find
vmap(), as it doesn't otherwise get included there.
Without this patch, one can hit the following build error:
drivers/dma-buf/heaps/cma_heap.c: In function 'cma_heap_do_vmap':
drivers/dma-buf/heaps/cma_heap.c:195:10: error: implicit declaration of function 'vmap'
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Fixes: a5d2d29e24 ("dma-buf: heaps: Move heap-helper logic into the cma_heap implementation")
Reported-by: Guenter Roeck <linux@roeck-us.net >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20201216004931.113505-1-john.stultz@linaro.org
2020-12-16 23:02:45 +05:30
John Stultz
d963ab0f15
dma-buf: system_heap: Allocate higher order pages if available
...
While the system heap can return non-contiguous pages,
try to allocate larger order pages if possible.
This will allow slight performance gains and make implementing
page pooling easier.
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20201121235002.69945-6-john.stultz@linaro.org
2020-11-22 22:03:04 +05:30
John Stultz
4c68e499bb
dma-buf: heaps: Skip sync if not mapped
...
This patch is basically a port of Ørjan Eide's similar patch for ION
https://lore.kernel.org/lkml/20200414134629.54567-1-orjan.eide@arm.com/
Only sync the sg-list of dma-buf heap attachment when the attachment
is actually mapped on the device.
dma-bufs may be synced at any time. It can be reached from user space
via DMA_BUF_IOCTL_SYNC, so there are no guarantees from callers on when
syncs may be attempted, and dma_buf_end_cpu_access() and
dma_buf_begin_cpu_access() may not be paired.
Since the sg_list's dma_address isn't set up until the buffer is used
on the device, and dma_map_sg() is called on it, the dma_address will be
NULL if sync is attempted on the dma-buf before it's mapped on a device.
Before v5.0 (commit 55897af630 ("dma-direct: merge swiotlb_dma_ops
into the dma_direct code")) this was a problem as the dma-api (at least
the swiotlb_dma_ops on arm64) would use the potentially invalid
dma_address. How that failed depended on how the device handled physical
address 0. If 0 was a valid address to physical ram, that page would get
flushed a lot, while the actual pages in the buffer would not get synced
correctly. While if 0 is an invalid physical address it may cause a
fault and trigger a crash.
In v5.0 this was incidentally fixed by commit 55897af630 ("dma-direct:
merge swiotlb_dma_ops into the dma_direct code"), as this moved the
dma-api to use the page pointer in the sg_list, and (for Ion buffers at
least) this will always be valid if the sg_list exists at all.
But, this issue is re-introduced in v5.3 with
commit 449fa54d68 ("dma-direct: correct the physical addr in
dma_direct_sync_sg_for_cpu/device") moves the dma-api back to the old
behaviour and picks the dma_address that may be invalid.
dma-buf core doesn't ensure that the buffer is mapped on the device, and
thus have a valid sg_list, before calling the exporter's
begin_cpu_access.
Logic and commit message originally by: Ørjan Eide <orjan.eide@arm.com >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20201121235002.69945-5-john.stultz@linaro.org
2020-11-22 22:03:04 +05:30
John Stultz
064fae53c0
dma-buf: heaps: Remove heap-helpers code
...
The heap-helpers code was not as generic as initially hoped
and it is now not being used, so remove it from the tree.
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20201121235002.69945-4-john.stultz@linaro.org
2020-11-22 22:03:03 +05:30
John Stultz
a5d2d29e24
dma-buf: heaps: Move heap-helper logic into the cma_heap implementation
...
Since the heap-helpers logic ended up not being as generic as
hoped, move the heap-helpers dma_buf_ops implementations into
the cma_heap directly.
This will allow us to remove the heap_helpers code in a following
patch.
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20201121235002.69945-3-john.stultz@linaro.org
2020-11-22 22:03:02 +05:30
John Stultz
3812957587
dma-buf: system_heap: Rework system heap to use sgtables instead of pagelists
...
In preparation for some patches to optmize the system
heap code, rework the dmabuf exporter to utilize sgtables rather
then pageslists for tracking the associated pages.
This will allow for large order page allocations, as well as
more efficient page pooling.
In doing so, the system heap stops using the heap-helpers logic
which sadly is not quite as generic as I was hoping it to be, so
this patch adds heap specific implementations of the dma_buf_ops
function handlers.
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Liam Mark <lmark@codeaurora.org >
Cc: Laura Abbott <labbott@kernel.org >
Cc: Brian Starkey <Brian.Starkey@arm.com >
Cc: Hridya Valsaraju <hridya@google.com >
Cc: Suren Baghdasaryan <surenb@google.com >
Cc: Sandeep Patil <sspatil@google.com >
Cc: Daniel Mentz <danielmentz@google.com >
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org >
Cc: Ørjan Eide <orjan.eide@arm.com >
Cc: Robin Murphy <robin.murphy@arm.com >
Cc: Ezequiel Garcia <ezequiel@collabora.com >
Cc: Simon Ser <contact@emersion.fr >
Cc: James Jones <jajones@nvidia.com >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20201121235002.69945-2-john.stultz@linaro.org
2020-11-22 22:03:02 +05:30
Maxime Ripard
c489573b5b
Merge drm/drm-next into drm-misc-next
...
Daniel needs -rc2 in drm-misc-next to merge some patches
Signed-off-by: Maxime Ripard <maxime@cerno.tech >
2020-11-02 11:17:54 +01:00
Linus Torvalds
5a32c3413d
Merge tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mapping
...
Pull dma-mapping updates from Christoph Hellwig:
- rework the non-coherent DMA allocator
- move private definitions out of <linux/dma-mapping.h>
- lower CMA_ALIGNMENT (Paul Cercueil)
- remove the omap1 dma address translation in favor of the common code
- make dma-direct aware of multiple dma offset ranges (Jim Quinlan)
- support per-node DMA CMA areas (Barry Song)
- increase the default seg boundary limit (Nicolin Chen)
- misc fixes (Robin Murphy, Thomas Tai, Xu Wang)
- various cleanups
* tag 'dma-mapping-5.10' of git://git.infradead.org/users/hch/dma-mapping: (63 commits)
ARM/ixp4xx: add a missing include of dma-map-ops.h
dma-direct: simplify the DMA_ATTR_NO_KERNEL_MAPPING handling
dma-direct: factor out a dma_direct_alloc_from_pool helper
dma-direct check for highmem pages in dma_direct_alloc_pages
dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h>
dma-mapping: move large parts of <linux/dma-direct.h> to kernel/dma
dma-mapping: move dma-debug.h to kernel/dma/
dma-mapping: remove <asm/dma-contiguous.h>
dma-mapping: merge <linux/dma-contiguous.h> into <linux/dma-map-ops.h>
dma-contiguous: remove dma_contiguous_set_default
dma-contiguous: remove dev_set_cma_area
dma-contiguous: remove dma_declare_contiguous
dma-mapping: split <linux/dma-mapping.h>
cma: decrease CMA_ALIGNMENT lower limit to 2
firewire-ohci: use dma_alloc_pages
dma-iommu: implement ->alloc_noncoherent
dma-mapping: add new {alloc,free}_noncoherent dma_map_ops methods
dma-mapping: add a new dma_alloc_pages API
dma-mapping: remove dma_cache_sync
53c700: convert to dma_alloc_noncoherent
...
2020-10-15 14:43:29 -07:00
Christoph Hellwig
0b1abd1fb7
dma-mapping: merge <linux/dma-contiguous.h> into <linux/dma-map-ops.h>
...
Merge dma-contiguous.h into dma-map-ops.h, after removing the comment
describing the contiguous allocator into kernel/dma/contigous.c.
Signed-off-by: Christoph Hellwig <hch@lst.de >
2020-10-06 07:07:04 +02:00
Thomas Zimmermann
20e76f1a70
dma-buf: Use struct dma_buf_map in dma_buf_vunmap() interfaces
...
This patch updates dma_buf_vunmap() and dma-buf's vunmap callback to
use struct dma_buf_map. The interfaces used to receive a buffer address.
This address is now given in an instance of the structure.
Users of the functions are updated accordingly. This is only an interface
change. It is currently expected that dma-buf memory can be accessed with
system memory load/store operations.
v2:
* include dma-buf-heaps and i915 selftests (kernel test robot)
* initialize cma_obj before using it in drm_gem_cma_free_object()
(kernel test robot)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sumit Semwal <sumit.semwal@linaro.org >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Tomasz Figa <tfiga@chromium.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200925115601.23955-4-tzimmermann@suse.de
2020-09-29 12:41:21 +02:00
Thomas Zimmermann
6619ccf1bb
dma-buf: Use struct dma_buf_map in dma_buf_vmap() interfaces
...
This patch updates dma_buf_vmap() and dma-buf's vmap callback to use
struct dma_buf_map.
The interfaces used to return a buffer address. This address now gets
stored in an instance of the structure that is given as an additional
argument. The functions return an errno code on errors.
Users of the functions are updated accordingly. This is only an interface
change. It is currently expected that dma-buf memory can be accessed with
system memory load/store operations.
v3:
* update fastrpc driver (kernel test robot)
v2:
* always clear map parameter in dma_buf_vmap() (Daniel)
* include dma-buf-heaps and i915 selftests (kernel test robot)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sumit Semwal <sumit.semwal@linaro.org >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Tomasz Figa <tfiga@chromium.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200925115601.23955-3-tzimmermann@suse.de
2020-09-29 12:40:58 +02:00
Marek Szyprowski
62296b395a
dmabuf: fix common struct sg_table related issues
...
The Documentation/DMA-API-HOWTO.txt states that the dma_map_sg() function
returns the number of the created entries in the DMA address space.
However the subsequent calls to the dma_sync_sg_for_{device,cpu}() and
dma_unmap_sg must be called with the original number of the entries
passed to the dma_map_sg().
struct sg_table is a common structure used for describing a non-contiguous
memory buffer, used commonly in the DRM and graphics subsystems. It
consists of a scatterlist with memory pages and DMA addresses (sgl entry),
as well as the number of scatterlist entries: CPU pages (orig_nents entry)
and DMA mapped pages (nents entry).
It turned out that it was a common mistake to misuse nents and orig_nents
entries, calling DMA-mapping functions with a wrong number of entries or
ignoring the number of mapped entries returned by the dma_map_sg()
function.
To avoid such issues, lets use a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
2020-09-10 08:18:35 +02:00
Andrew F. Davis
263e38f82c
dma-buf: heaps: Remove redundant heap identifier from system heap name
...
The heaps are already in a directory of heaps, adding _heap to a heap
name is redundant. This patch is only a name change, no logic is changed.
Signed-off-by: Andrew F. Davis <afd@ti.com >
Acked-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191216133405.1001-3-afd@ti.com
2019-12-17 21:37:40 +05:30
John Stultz
b61614ec31
dma-buf: heaps: Add CMA heap to dmabuf heaps
...
This adds a CMA heap, which allows userspace to allocate
a dma-buf of contiguous memory out of a CMA region.
This code is an evolution of the Android ION implementation, so
thanks to its original author and maintainters:
Benjamin Gaignard, Laura Abbott, and others!
NOTE: This patch only adds the default CMA heap. We will enable
selectively adding other CMA memory regions to the dmabuf heaps
interface with a later patch (which requires a dt binding)
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
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Acked-by: Sandeep Patil <sspatil@android.com >
Acked-by: Laura Abbott <labbott@redhat.com >
Tested-by: Ayan Kumar Halder <ayan.halder@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203172641.66642-5-john.stultz@linaro.org
2019-12-11 11:13:37 +05:30
John Stultz
efa04fefeb
dma-buf: heaps: Add system heap to dmabuf heaps
...
This patch adds system heap to the dma-buf heaps framework.
This allows applications to get a page-allocator backed dma-buf
for non-contiguous memory.
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: Sandeep Patil <sspatil@google.com >
Cc: Hillf Danton <hdanton@sina.com >
Cc: Dave Airlie <airlied@gmail.com >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Acked-by: Sandeep Patil <sspatil@android.com >
Acked-by: Laura Abbott <labbott@redhat.com >
Tested-by: Ayan Kumar Halder <ayan.halder@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203172641.66642-4-john.stultz@linaro.org
2019-12-11 11:13:36 +05:30
John Stultz
5248eb12fe
dma-buf: heaps: Add heap helpers
...
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: Sandeep Patil <sspatil@google.com >
Cc: Hillf Danton <hdanton@sina.com >
Cc: Dave Airlie <airlied@gmail.com >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Acked-by: Sandeep Patil <sspatil@android.com >
Acked-by: Laura Abbott <labbott@redhat.com >
Tested-by: Ayan Kumar Halder <ayan.halder@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203172641.66642-3-john.stultz@linaro.org
2019-12-11 11:13:35 +05:30
Sean Paul
837324d435
Revert "dma-buf: heaps: Add heap helpers"
...
This reverts commit 7b87ea704f .
This patchset doesn't meet the UAPI requirements set out in [1] for the DRM
subsystem. Once the userspace component is reviewed and ready for merge
we can try again.
[1]- https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-uapi.html#open-source-userspace-requirements
Fixes: 7b87ea704f ("dma-buf: heaps: Add heap helpers")
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: Hillf Danton <hdanton@sina.com >
Cc: dri-devel@lists.freedesktop.org
Cc: Brian Starkey <brian.starkey@arm.com >
Cc: John Stultz <john.stultz@linaro.org >
Cc: "Andrew F. Davis" <afd@ti.com >
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Acked-by: David Airlie <airlied@linux.ie >
Signed-off-by: Sean Paul <sean@poorly.run >
Link: https://patchwork.freedesktop.org/patch/msgid/20191030203003.101156-5-sean@poorly.run
2019-10-30 16:41:43 -04:00
Sean Paul
d59c5e0250
Revert "dma-buf: heaps: Add system heap to dmabuf heaps"
...
This reverts commit 47a32f9c12 .
This patchset doesn't meet the UAPI requirements set out in [1] for the DRM
subsystem. Once the userspace component is reviewed and ready for merge
we can try again.
[1]- https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-uapi.html#open-source-userspace-requirements
Fixes: 47a32f9c12 ("dma-buf: heaps: Add system heap to dmabuf heaps")
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: Hillf Danton <hdanton@sina.com >
Cc: dri-devel@lists.freedesktop.org
Cc: Brian Starkey <brian.starkey@arm.com >
Cc: John Stultz <john.stultz@linaro.org >
Cc: "Andrew F. Davis" <afd@ti.com >
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Acked-by: David Airlie <airlied@linux.ie >
Signed-off-by: Sean Paul <sean@poorly.run >
Link: https://patchwork.freedesktop.org/patch/msgid/20191030203003.101156-4-sean@poorly.run
2019-10-30 16:41:33 -04:00
Sean Paul
2e7f7cb2b5
Revert "dma-buf: heaps: Add CMA heap to dmabuf heaps"
...
This reverts commit 43d7238fb9 .
This patchset doesn't meet the UAPI requirements set out in [1] for the DRM
subsystem. Once the userspace component is reviewed and ready for merge
we can try again.
[1]- https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-uapi.html#open-source-userspace-requirements
Fixes: 43d7238fb9 ("dma-buf: heaps: Add CMA heap to dmabuf heaps")
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: Hillf Danton <hdanton@sina.com >
Cc: dri-devel@lists.freedesktop.org
Cc: Brian Starkey <brian.starkey@arm.com >
Cc: John Stultz <john.stultz@linaro.org >
Cc: "Andrew F. Davis" <afd@ti.com >
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Acked-by: David Airlie <airlied@linux.ie >
Signed-off-by: Sean Paul <sean@poorly.run >
Link: https://patchwork.freedesktop.org/patch/msgid/20191030203003.101156-3-sean@poorly.run
2019-10-30 16:41:23 -04:00
John Stultz
43d7238fb9
dma-buf: heaps: Add CMA heap to dmabuf heaps
...
This adds a CMA heap, which allows userspace to allocate
a dma-buf of contiguous memory out of a CMA region.
This code is an evolution of the Android ION implementation, so
thanks to its original author and maintainters:
Benjamin Gaignard, Laura Abbott, and others!
NOTE: This patch only adds the default CMA heap. We will enable
selectively adding other CMA memory regions to the dmabuf heaps
interface with a later patch (which requires a dt binding)
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: Hillf Danton <hdanton@sina.com >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Acked-by: Laura Abbott <labbott@redhat.com >
Tested-by: Ayan Kumar Halder <ayan.halder@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191021190310.85221-5-john.stultz@linaro.org
2019-10-25 17:01:49 +05:30
John Stultz
47a32f9c12
dma-buf: heaps: Add system heap to dmabuf heaps
...
This patch adds system heap to the dma-buf heaps framework.
This allows applications to get a page-allocator backed dma-buf
for non-contiguous memory.
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: Hillf Danton <hdanton@sina.com >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Acked-by: Laura Abbott <labbott@redhat.com >
Tested-by: Ayan Kumar Halder <ayan.halder@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191021190310.85221-4-john.stultz@linaro.org
2019-10-25 17:01:48 +05:30
John Stultz
7b87ea704f
dma-buf: heaps: Add heap helpers
...
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: Hillf Danton <hdanton@sina.com >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Reviewed-by: Brian Starkey <brian.starkey@arm.com >
Acked-by: Laura Abbott <labbott@redhat.com >
Tested-by: Ayan Kumar Halder <ayan.halder@arm.com >
Signed-off-by: John Stultz <john.stultz@linaro.org >
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191021190310.85221-3-john.stultz@linaro.org
2019-10-25 17:01:47 +05:30