[PATCH v3 0/9] Exynos DRM: rewrite IPP subsystem and userspace API
Marek Szyprowski
m.szyprowski at samsung.com
Wed Oct 18 07:41:32 UTC 2017
Hi Daniel,
On 2017-10-17 14:24, Daniel Vetter wrote:
> On Tue, Oct 17, 2017 at 01:07:43PM +0200, Marek Szyprowski wrote:
>> This patchset performs complete rewrite of Exynos DRM IPP subsystem and
>> its userspace API.
>>
>> Why such rewrite is needed? Exynos DRM IPP API is over-engineered in
>> general, but not really extensible on the other side. It is also buggy,
>> with significant design flaws:
>> - Userspace API covers memory-2-memory picture operations together with
>> CRTC writeback and duplicating features, which belongs to video plane.
>> - Lack of support of the all required image formats (for example NV12
>> Samsung-tiled cannot be used due to lack of pixel format modifier
>> support).
>> - Userspace API designed only to mimic hardware behaviour, not easy to
>> understand.
>> - Lack of proper input validation in the core, drivers also didn't do that
>> correctly, so it was possible to set incorrect parameters and easil
>> trigger IOMMU fault or memory trash.
>> - Drivers were partially disfunctional or supported only a subset of modes.
>>
>> Due to the above limitations and issues the Exynos DRM IPP API was not
>> used by any of the open-source projects. I assume that it is safe to remove
>> this broken API without any damage to open-source community. All remaining
>> users (mainly Tizen project related) will be updated to the new version.
>>
>> This patchset changes Exynos DRM IPP subsystem to something useful. The
>> userspace API is much simpler, state-less and easy to understand. Also
>> the code of the core and driver is significantly smaller and easier to
>> understand.
>>
>> Patches were tested on Exynos4412 based Odroid U3, Exynos5422
>> Odroid XU3 and Exynos5433 TM2 boards, on top of Linux next-20171016 kernel.
> When submitting uapi changes, please link to the corresponding userspace
> work. Otherwise pretty hard to find this stuff.
A simple userspace test tool has been sent together with v1:
https://www.spinics.net/lists/linux-samsung-soc/msg60498.html
Tobias Jakobi has added support for this new API to his fork of libdrm and
mpv video player:
https://github.com/tobiasjakobi/libdrm/tree/ippv2
https://github.com/tobiasjakobi/mpv
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
More information about the dri-devel
mailing list