All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Airlie <airlied@gmail.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: dri-devel <dri-devel@lists.freedesktop.org>,
	linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Tobias Jakobi <tjakobi@math.uni-bielefeld.de>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Andrzej Pietrasiewicz <andrzej.p@samsung.com>,
	Hoegeun Kwon <hoegeun.kwon@samsung.com>
Subject: Re: [PATCH v4 2/9] drm/exynos: ipp: Add IPP v2 framework
Date: Wed, 1 Nov 2017 13:47:22 +1000	[thread overview]
Message-ID: <CAPM=9tyy135aOOiMFiUzkfJQYbD0a_v_p9SsRk=TT-=VVSPaug@mail.gmail.com> (raw)
In-Reply-To: <20171023075428.7003-3-m.szyprowski@samsung.com>

On 23 October 2017 at 17:54, Marek Szyprowski <m.szyprowski@samsung.com> wrote:
> This patch adds Exynos IPP v2 subsystem and userspace API.
>
> New userspace API is focused ONLY on memory-to-memory image processing.
> The two remainging IPP operation modes (framebuffer writeback and
> local-path output with image processing) can be implemented using
> standard DRM features: writeback connectors and additional DRM planes with
> scaling features.
>
> V2 IPP userspace API is not compatible with old IPP ioctls. This is a
> significant change, but the old IPP subsystem in mainline Linux kernel was
> partially disfunctional anyway and not used in any open-source project.
>
> V2 IPP userspace API is based on stateless approach, which much better fits
> to memory-to-memory image processing model. It also provides support for
> all image formats, which are both already defined in DRM API and supported
> by the existing IPP hardware modules.
>
> The API consists of the following ioctls:
> - DRM_IOCTL_EXYNOS_IPP_GET_RESOURCES: to enumerate all available image
>   processing modules,
> - DRM_IOCTL_EXYNOS_IPP_GET_CAPS: to query capabilities and supported image
>   formats of given IPP module,
> - DRM_IOCTL_EXYNOS_IPP_GET_LIMITS: to query hardware limitiations for
>   selected image format of given IPP module,
> - DRM_IOCTL_EXYNOS_IPP_COMMIT: to perform operation described by the
>   provided structures (source and destination buffers, operation rectangle,
>   transformation, etc).
>
> The proposed userspace API is extensible. In the future more advanced image
> processing operations can be defined to support for example blending.
>
> Userspace API is fully functional also on DRM render nodes, so it is not
> limited to the root/privileged client.
>
> Internal driver API also has been completely rewritten. New IPP core
> performs all possible input validation, checks and object life-time
> control. The drivers can focus only on writing configuration to hardware
> registers. Stateless nature of DRM_IOCTL_EXYNOS_IPP_COMMIT ioctl simplifies
> the driver API. Minimal driver needs to provide a single callback for
> starting processing and an array with supported image formats.

Is there userspace user for this? This is pretty significant
driver-specific API addition.

The commit should contain pointers to a userspace project using this,
or patches to one.

Dave.

  parent reply	other threads:[~2017-11-01  3:47 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20171023075448eucas1p25e25bb36d36139e3917211ab8ac999ec@eucas1p2.samsung.com>
2017-10-23  7:54 ` [PATCH v4 0/9] Exynos DRM: rewrite IPP subsystem and userspace API Marek Szyprowski
     [not found]   ` <CGME20171023075448eucas1p10255809be25caa7e44a3889f26561bc8@eucas1p1.samsung.com>
2017-10-23  7:54     ` [PATCH v4 1/9] drm/exynos: ipp: Remove Exynos DRM IPP subsystem Marek Szyprowski
     [not found]   ` <CGME20171023075449eucas1p18211ed64e964860d201aaeb53a87a8be@eucas1p1.samsung.com>
2017-10-23  7:54     ` [PATCH v4 2/9] drm/exynos: ipp: Add IPP v2 framework Marek Szyprowski
2017-11-01  1:13       ` Inki Dae
2017-11-03 11:20         ` Marek Szyprowski
2017-11-01  3:47       ` Dave Airlie [this message]
2017-11-01 14:18         ` Tobias Jakobi
     [not found]   ` <CGME20171023075449eucas1p14adcde4cea94ca82a13a822ee59d9446@eucas1p1.samsung.com>
2017-10-23  7:54     ` [PATCH v4 3/9] drm/exynos: rotator: Convert driver to IPP v2 core API Marek Szyprowski
2017-11-01  5:40       ` Inki Dae
     [not found]   ` <CGME20171023075450eucas1p155afda476e368ae57ba7fe1a347a5f4c@eucas1p1.samsung.com>
2017-10-23  7:54     ` [PATCH v4 4/9] drm/exynos: gsc: " Marek Szyprowski
2017-11-01  6:02       ` Inki Dae
     [not found]   ` <CGME20171023075450eucas1p24923c2a0793ac24364b97770dadd56e0@eucas1p2.samsung.com>
2017-10-23  7:54     ` [PATCH v4 5/9] drm/exynos: Add generic support for devices shared with V4L2 subsystem Marek Szyprowski
2017-11-01  6:26       ` Inki Dae
2017-11-03 12:28         ` Marek Szyprowski
2017-11-06  1:20           ` Inki Dae
2017-11-07  9:07             ` Marek Szyprowski
     [not found]   ` <CGME20171023075451eucas1p1a833d9c805f6b7dc1b984e59afce23f3@eucas1p1.samsung.com>
2017-10-23  7:54     ` [PATCH v4 6/9] drm/exynos: fimc: Convert driver to IPP v2 core API Marek Szyprowski
     [not found]   ` <CGME20171023075452eucas1p1dada05e443a800977d9c888744877f38@eucas1p1.samsung.com>
2017-10-23  7:54     ` [PATCH v4 7/9] drm/exynos: Add driver for Exynos Scaler module Marek Szyprowski
     [not found]   ` <CGME20171023075452eucas1p2881393094c507e4409005a498658f28d@eucas1p2.samsung.com>
2017-10-23  7:54     ` [PATCH v4 8/9] ARM: dts: exynos: Add mem-2-mem Scaler devices Marek Szyprowski
     [not found]   ` <CGME20171023075453eucas1p18c5a22b967399885c14bff39b1e218f2@eucas1p1.samsung.com>
2017-10-23  7:54     ` [PATCH v4 9/9] ARM64: " Marek Szyprowski

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='CAPM=9tyy135aOOiMFiUzkfJQYbD0a_v_p9SsRk=TT-=VVSPaug@mail.gmail.com' \
    --to=airlied@gmail.com \
    --cc=andrzej.p@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hoegeun.kwon@samsung.com \
    --cc=krzk@kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=s.nawrocki@samsung.com \
    --cc=sw0312.kim@samsung.com \
    --cc=tjakobi@math.uni-bielefeld.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.