linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
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>

      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