From: Benjamin Gaignard <benjamin.gaignard@linaro.org>
To: Laura Abbott <labbott@redhat.com>
Cc: "Sumit Semwal" <sumit.semwal@linaro.org>,
"Riley Andrews" <riandrews@android.com>,
"Arve Hjønnevåg" <arve@android.com>,
"Rom Lemarchand" <romlem@google.com>,
devel@driverdev.osuosl.org,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
"linaro-mm-sig@lists.linaro.org" <linaro-mm-sig@lists.linaro.org>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
linux-arm-kernel@lists.infradead.org,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"Brian Starkey" <brian.starkey@arm.com>,
"Daniel Vetter" <daniel.vetter@intel.com>,
"Mark Brown" <broonie@kernel.org>,
"Linux MM" <linux-mm@kvack.org>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>
Subject: Re: [RFC PATCHv2 00/21] Ion clean in preparation for moving out of staging
Date: Wed, 29 Mar 2017 11:03:07 +0200 [thread overview]
Message-ID: <CA+M3ks4ykYszxmzscnCAwKdahTZxwNWjPg7HvWDHh6bNdnD1=A@mail.gmail.com> (raw)
In-Reply-To: <1489798493-16600-1-git-send-email-labbott@redhat.com>
2017-03-18 1:54 GMT+01:00 Laura Abbott <labbott@redhat.com>:
>
> Hi,
>
> This is v2 of the series to do some serious Ion clean up in preparation for
> moving out of staging. I got good feedback last time so this series mostly
> attempts to address that feedback and do more still more cleanup. Highlights:
>
> - All calls to DMA APIs should now be with a real actual proper device
> structure
> - Patch to stop setting sg_dma_address manually now included
> - Fix for a bug in the query interface
> - Removal of custom ioctl interface
> - Removal of import interface
> - Removal of any notion of using Ion as an in kernel interface.
> - Cleanup of ABI so compat interface is no longer needed
> - Deletion of a bit more platform code
> - Combined heap enumeration and heap registration code up so there are fewer
> layers of abstraction
> - Some general cleanup and header reduction.
> - Removal of both the ion_client and ion_handle structures since these mostly
> become redundant. As a result, Ion only returns a dma_buf fd. The overall
> result is that the only Ion interfaces are the query ioctl and the alloc
> ioctl.
>
> The following are still TODOs/open problems:
> - Sumit's comments about the CMA naming.
> - Bindings/platform for chunk and carveout heap
> - There was some discussion about making the sg_table duplication generic. I
> got bogged down in handling some of the edge cases for generic handling
> so I put this aside. Making it generic is still something that should happen.
> - More fine-grained support for restricting heap access. There are good
> arguments to be made for having a way for having good integration with
> selinux and other policy mechanisms.
> - While not on the original list, there is still no good good test standalone
> test framework. I noticed that the existing ion_test was fairly generic so I
> proposed moving it to dma_buf. Daniel Vetter suggested just using the VGEM
> module instead. Ideally, the tests can live as part of some other existing
> test set (drm tests maybe?)
>
> Feedback appreciated as always.
Thanks for this v2, it really clean up and simplify ION.
For me the last question mark is about restricting heap access with
SElinux policy.
Since I haven't see other proposals I still believe that we should
have a /dev/ion/$heapname
per heap.
>
> Thanks,
> Laura
>
> Laura Abbott (21):
> cma: Store a name in the cma structure
> cma: Introduce cma_for_each_area
> staging: android: ion: Remove dmap_cnt
> staging: android: ion: Remove alignment from allocation field
> staging: android: ion: Duplicate sg_table
> staging: android: ion: Call dma_map_sg for syncing and mapping
> staging: android: ion: Remove page faulting support
> staging: android: ion: Remove crufty cache support
> staging: android: ion: Remove custom ioctl interface
> staging: android: ion: Remove import interface
> staging: android: ion: Remove duplicate ION_IOC_MAP
> staging: android: ion: Remove old platform support
> staging: android: ion: Use CMA APIs directly
> staging: android: ion: Stop butchering the DMA address
> staging: android: ion: Break the ABI in the name of forward progress
> staging: android: ion: Get rid of ion_phys_addr_t
> staging: android: ion: Collapse internal header files
> staging: android: ion: Rework heap registration/enumeration
> staging: android: ion: Drop ion_map_kernel interface
> staging: android: ion: Remove ion_handle and ion_client
> staging: android: ion: Set query return value
>
> drivers/base/dma-contiguous.c | 5 +-
> drivers/staging/android/ion/Kconfig | 56 +-
> drivers/staging/android/ion/Makefile | 18 +-
> drivers/staging/android/ion/compat_ion.c | 195 ----
> drivers/staging/android/ion/compat_ion.h | 29 -
> drivers/staging/android/ion/hisilicon/Kconfig | 5 -
> drivers/staging/android/ion/hisilicon/Makefile | 1 -
> drivers/staging/android/ion/hisilicon/hi6220_ion.c | 113 --
> drivers/staging/android/ion/ion-ioctl.c | 85 +-
> drivers/staging/android/ion/ion.c | 1164 +++-----------------
> drivers/staging/android/ion/ion.h | 393 +++++--
> drivers/staging/android/ion/ion_carveout_heap.c | 37 +-
> drivers/staging/android/ion/ion_chunk_heap.c | 27 +-
> drivers/staging/android/ion/ion_cma_heap.c | 125 +--
> drivers/staging/android/ion/ion_dummy_driver.c | 156 ---
> drivers/staging/android/ion/ion_heap.c | 68 --
> drivers/staging/android/ion/ion_of.c | 184 ----
> drivers/staging/android/ion/ion_of.h | 37 -
> drivers/staging/android/ion/ion_page_pool.c | 6 +-
> drivers/staging/android/ion/ion_priv.h | 473 --------
> drivers/staging/android/ion/ion_system_heap.c | 53 +-
> drivers/staging/android/ion/ion_test.c | 305 -----
> drivers/staging/android/ion/tegra/Makefile | 1 -
> drivers/staging/android/ion/tegra/tegra_ion.c | 80 --
> drivers/staging/android/uapi/ion.h | 86 +-
> drivers/staging/android/uapi/ion_test.h | 69 --
> include/linux/cma.h | 6 +-
> mm/cma.c | 25 +-
> mm/cma.h | 1 +
> mm/cma_debug.c | 2 +-
> 30 files changed, 610 insertions(+), 3195 deletions(-)
> delete mode 100644 drivers/staging/android/ion/compat_ion.c
> delete mode 100644 drivers/staging/android/ion/compat_ion.h
> delete mode 100644 drivers/staging/android/ion/hisilicon/Kconfig
> delete mode 100644 drivers/staging/android/ion/hisilicon/Makefile
> delete mode 100644 drivers/staging/android/ion/hisilicon/hi6220_ion.c
> delete mode 100644 drivers/staging/android/ion/ion_dummy_driver.c
> delete mode 100644 drivers/staging/android/ion/ion_of.c
> delete mode 100644 drivers/staging/android/ion/ion_of.h
> delete mode 100644 drivers/staging/android/ion/ion_priv.h
> delete mode 100644 drivers/staging/android/ion/ion_test.c
> delete mode 100644 drivers/staging/android/ion/tegra/Makefile
> delete mode 100644 drivers/staging/android/ion/tegra/tegra_ion.c
> delete mode 100644 drivers/staging/android/uapi/ion_test.h
>
> --
> 2.7.4
>
--
Benjamin Gaignard
Graphic Study Group
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
prev parent reply other threads:[~2017-03-29 9:03 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-18 0:54 Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 01/21] cma: Store a name in the cma structure Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 02/21] cma: Introduce cma_for_each_area Laura Abbott
2017-03-29 8:48 ` Benjamin Gaignard
2017-03-18 0:54 ` [RFC PATCHv2 03/21] staging: android: ion: Remove dmap_cnt Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 04/21] staging: android: ion: Remove alignment from allocation field Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 05/21] staging: android: ion: Duplicate sg_table Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 06/21] staging: android: ion: Call dma_map_sg for syncing and mapping Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 07/21] staging: android: ion: Remove page faulting support Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 08/21] staging: android: ion: Remove crufty cache support Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 09/21] staging: android: ion: Remove custom ioctl interface Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 10/21] staging: android: ion: Remove import interface Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 11/21] staging: android: ion: Remove duplicate ION_IOC_MAP Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 12/21] staging: android: ion: Remove old platform support Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 13/21] staging: android: ion: Use CMA APIs directly Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 14/21] staging: android: ion: Stop butchering the DMA address Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 15/21] staging: android: ion: Break the ABI in the name of forward progress Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 16/21] staging: android: ion: Get rid of ion_phys_addr_t Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 17/21] staging: android: ion: Collapse internal header files Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 18/21] staging: android: ion: Rework heap registration/enumeration Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 19/21] staging: android: ion: Drop ion_map_kernel interface Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 20/21] staging: android: ion: Remove ion_handle and ion_client Laura Abbott
2017-03-18 0:54 ` [RFC PATCHv2 21/21] staging: android: ion: Set query return value Laura Abbott
2017-03-29 9:03 ` Benjamin Gaignard [this message]
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='CA+M3ks4ykYszxmzscnCAwKdahTZxwNWjPg7HvWDHh6bNdnD1=A@mail.gmail.com' \
--to=benjamin.gaignard@linaro.org \
--cc=arve@android.com \
--cc=brian.starkey@arm.com \
--cc=broonie@kernel.org \
--cc=daniel.vetter@intel.com \
--cc=devel@driverdev.osuosl.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=labbott@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=riandrews@android.com \
--cc=romlem@google.com \
--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