dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Dave Airlie <airlied@linux.ie>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [GIT PULL] exynos-drm-next
Date: Wed, 29 Nov 2017 10:52:27 +0100	[thread overview]
Message-ID: <20171129095226.ud3h2eqcjmkddcc4@phenom.ffwll.local> (raw)
In-Reply-To: <9ef0a1c1-a10c-978a-6c90-b02a968d8c6c@samsung.com>

On Tue, Nov 28, 2017 at 02:45:49PM +0100, Marek Szyprowski wrote:
> Hi Daniel,
> 
> On 2017-11-20 08:33, Daniel Vetter wrote:
> > On Wed, Nov 15, 2017 at 10:26:45AM +0900, Inki Dae wrote:
> > > 2017년 11월 14일 13:22에 Dave Airlie 이(가) 쓴 글:
> > > > On 26 October 2017 at 11:37, Inki Dae <inki.dae@samsung.com> wrote:
> > > > >     Improving Exynos DRM HDMI and Mixer drivers and also adding
> > > > >     HDMI audio support.
> > > > > 
> > > > >     Please kindly let me know if there is any problem.
> > > > > 
> > > > >     Ps. we are reviewing IPP v2 driver[1] which controls post processor devices
> > > > >         such as FIMC, GScaler and Rotator of Exynos SoC. So I plan to request
> > > > >         git pull one more time after review.
> > > > I dropped the ball a bit here, I do think the second pull with IPP is
> > > > probably a bit late,
> > > > I think I'd like more assurance that the UAPI for IPP is to be used in
> > > > some upstream
> > > > shipping project (forks of mpv not withstanding, unless this fork
> > > > ships in some distro
> > > > or product).
> > > I also commented same thing internally to author - Marek - of IPP v2 but I thought existing one is really ugly thing so may be better to change it as soon as possible before other users use this one.
> > > Anyway, we will merge user space for IPP v2 to libdrm first, and then Linux platform. I hope IPPv2 would be merged as soon as possible in next turn.
> > Beyond what Daniel said we unfortunately don't have time machines, so
> > fixing bad uapi isn't really possible. The problem is that even if you
> > create ippv2, then people can still use ippv1, and it needs to keep
> > working (almost) forever. So once a bad uapi is in, it's in, and there's
> > no good reason to add more uapi (since in 2 years you might again realize
> > it's not a good idea) to "fix" that. You can't fix bad uapi.
> > 
> > That's why we have all these rules to make sure as little bad uapi as
> > possible lands, since the cost is so bad.
> > 
> > So yeah unless you have new hw that needs it, or there's another clear
> > need (performance, features), you're stuck with ippv1. "It's cleaner" is
> > not a good reason to rev uapi, since our experience with all the uapi in
> > drm clearly shows we can't predict the future :-)
> 
> I generally agree that UAPI interface has to be stable and well designed.
> 
> There are however some 'features' IPPv1 uapi that really allows us to
> obsolete it:
> 
> 1. IPP API can be optional in Exynos DRM, so userspace should not rely that
> it is always available and should have a software fallback in case it is not
> available.
> 
> 2. The only mode which was initially semi-working was memory-to-memory. The
> remaining modes (lcd-writeback and output) were never operational (both in
> mainline and even vendor kernels).
> 
> 3. IPP mainline uapi compatibility for memory-to-memory got broken very
> early by commit 083500baefd5f4c215a5a93aef2492c1aa775828 ("drm: remove
> DRM_FORMAT_NV12MT", which removed the support for tiled formats, the main
> feature which made this api somehow useful on Exynos platforms (video codec
> that time produced only tiled frames, to implement xvideo or any other
> video overlay, one has to detile them for proper display).
> 
> 4. Broken drivers. Especially once support for IOMMU has been added, it
> revealed that drivers don't configure DMA operations properly and in many
> cases operate outside the provided buffers trashing memory around.
> 
> 5. Need for external patches. Although IPP uapi has been used in some
> vendor kernels, but in such cases there were additional patches applied
> (like reverting mentioned 083500baefd5 patch) what means that those
> userspace apps which might use it, still won't work with the mainline
> version.
> 
> Right, as you already said we don't have time machines, so we cannot change
> it, but IPP extension should never have been merged to mainline in that
> form.
> 
> We can however obsolete it now as it is really non-functional and frankly
> speaking dead-code. If you agree with the above than at least the first
> patch can be merged, which clearly marks that Exynos IPP is broken and
> ever really functional. I bet no one will complain. Then we can continue
> the discussion about IPPv2 uapi/patches.

Ok, if what's currently is upstream is indeed entirely non-functional then
I think we can make a case for ippv2. But imo we should then also first
rip out ippv1. Which given that it's optional, and apparently your
userspace can cope, should be doable without causing any big trouble.

But now that you explained why ippv1 is a hopeless patient that won't make
it, why is ippv2 better? Do we have solid testcases for this stuff now? Is
the userspace production quality or still kinda just a tech demo?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-11-29  9:52 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20171026013709epcas2p2525d1249a7f2ad640ce9028df12e2436@epcas2p2.samsung.com>
2017-10-26  1:37 ` [GIT PULL] exynos-drm-next Inki Dae
2017-11-14  4:22   ` Dave Airlie
2017-11-15  1:26     ` Inki Dae
2017-11-15 10:27       ` Daniel Stone
2017-11-15 22:51         ` Inki Dae
2017-11-20  7:33       ` Daniel Vetter
2017-11-28 13:45         ` Marek Szyprowski
2017-11-29  9:52           ` Daniel Vetter [this message]
2017-11-28 22:40         ` Inki Dae
2024-04-25  3:43 Inki Dae
  -- strict thread matches above, loose matches on Subject: below --
2023-12-12  5:11 Inki Dae
     [not found] <CGME20230809060216epcas1p31ee8f5adc0b079b3bf347369c04f2dfe@epcas1p3.samsung.com>
2023-08-09  6:02 ` Inki Dae
     [not found] <CGME20230328040524epcas1p270b050efedfe53d8e59c7e9103d5b84c@epcas1p2.samsung.com>
2023-03-28  4:05 ` Inki Dae
2023-03-28 17:31   ` Daniel Vetter
2023-03-29  5:39     ` 대인기
2023-04-17  1:17       ` Inki Dae
     [not found] <CGME20230130051056epcas1p3864c816bfccf0c8a6e7f8601b240b11e@epcas1p3.samsung.com>
2023-01-30  5:10 ` Inki Dae
     [not found] <CGME20220926020723epcas1p29e968d4d47ae3b95211c219fcd045d02@epcas1p2.samsung.com>
2022-09-26  2:07 ` Inki Dae
     [not found] <CGME20220712061009epcas1p2a58002c639023a32375700be9ee9dea5@epcas1p2.samsung.com>
2022-07-12  6:10 ` Inki Dae
2021-12-22  3:53 Inki Dae
2021-08-21 17:28 Inki Dae
     [not found] <CGME20210611024956epcas1p1c15767f446a585a62be9aec1482082c1@epcas1p1.samsung.com>
2021-06-11  2:59 ` Inki Dae
     [not found] <CGME20210330082100epcas1p14a343aa642e07f678d265cb4fd9e930a@epcas1p1.samsung.com>
2021-03-30  8:29 ` Inki Dae
     [not found] <CGME20201201044247epcas1p321782889404edc13c2a8bdea2800e9a0@epcas1p3.samsung.com>
2020-12-01  4:50 ` Inki Dae
     [not found] <CGME20200922083212epcas1p3874ca74fbb2d46214b69bc0dd757aaaf@epcas1p3.samsung.com>
2020-09-22  8:38 ` Inki Dae
     [not found] <CGME20200520052745epcas1p3ea5ad049aa682f5afbeaaeec9df8d835@epcas1p3.samsung.com>
2020-05-20  5:33 ` Inki Dae
     [not found] <CGME20200316010443epcas1p33627ec18d70b980b7a5c943de8cfa07d@epcas1p3.samsung.com>
2020-03-16  1:09 ` Inki Dae
2020-03-18  2:17   ` Dave Airlie
2020-03-18  3:16     ` Inki Dae
     [not found] <CGME20200121004854epcas1p19ef322f1b88ce31f28a17bde2bacc3fc@epcas1p1.samsung.com>
2020-01-21  0:52 ` Inki Dae
2019-10-28 12:34 Inki Dae
2019-09-01 12:06 Inki Dae
2019-06-27 14:28 Inki Dae
     [not found] <CGME20190422095042epcas1p27726a67f8283fdc4beff8561d0254957@epcas1p2.samsung.com>
2019-04-22  9:51 ` Inki Dae
2019-04-24  2:03   ` Dave Airlie
2019-04-24  2:11     ` Inki Dae
     [not found] <CGME20190207113137epcas1p44bf0105c4de7200eacb9e069ae28f1fd@epcas1p4.samsung.com>
2019-02-07 11:31 ` Inki Dae
     [not found] <CGME20181205094053epcas1p118ccbb4387ce9bbc78e6d0988af94ff3@epcas1p1.samsung.com>
2018-12-05  9:40 ` Inki Dae
     [not found] <CGME20181001080136epcas2p25ea2774ba9a203331314084a2c1a342d@epcas2p2.samsung.com>
2018-10-01  8:01 ` Inki Dae
     [not found] <CGME20180725080228epcas1p2cdab6ad94e69018ba6f30c5bc82191c3@epcas1p2.samsung.com>
2018-07-25  8:02 ` Inki Dae
     [not found] <CGME20180514054053epcas1p252e78c047cd19b821e57ca0e63cc3dc3@epcas1p2.samsung.com>
2018-05-14  5:40 ` Inki Dae
     [not found] <CGME20180102003618epcas2p2d82ece8ab037e5213f1bc0b83cdb1a43@epcas2p2.samsung.com>
2018-01-02  0:36 ` Inki Dae
     [not found] <CGME20170825061857epcas1p4e7086e95f9b626ce8175a62af120e4a5@epcas1p4.samsung.com>
2017-08-25  6:18 ` Inki Dae
     [not found] <CGME20170418020509epcas5p2e54f307dee164846dabf0470c5f134eb@epcas5p2.samsung.com>
2017-04-18  2:05 ` Inki Dae
2017-04-18  2:15   ` Inki Dae
2017-04-18  2:21   ` Andi Shyti
2017-04-18  2:30     ` Inki Dae
2017-04-18  7:11       ` Krzysztof Kozlowski
2017-04-18 23:35   ` Dave Airlie
2017-04-19  1:56     ` Inki Dae
     [not found] <CGME20170207070737epcas1p3a485458c1d8294f9df82bf5063047860@epcas1p3.samsung.com>
2017-02-07  7:07 ` Inki Dae
     [not found] <CGME20170131004642epcas1p29b431d13f09984c7beff4eb9b654ad2f@epcas1p2.samsung.com>
2017-01-31  0:46 ` Inki Dae
2017-01-31  9:11   ` Inki Dae
2016-12-06  0:15 Inki Dae
2016-09-30 16:26 Inki Dae
2016-07-13 14:30 Inki Dae
2016-04-30  3:01 Inki Dae
2015-12-14  4:56 Inki Dae
2015-10-28  6:55 Inki Dae
2015-10-28 10:15 ` Daniel Stone
2015-10-28 10:48   ` Inki Dae
2015-10-28 10:58     ` Daniel Stone
2015-10-28 11:00       ` Daniel Stone
2015-10-28 11:16         ` Inki Dae
2015-10-28 11:52           ` Daniel Stone
2015-10-28 12:37             ` Inki Dae
2015-11-02 23:10               ` Dave Airlie
2015-11-03  2:11                 ` Inki Dae
2015-11-03  2:36                   ` Dave Airlie
2015-11-03  4:36               ` Inki Dae
2015-11-03 18:59                 ` Daniel Stone
2015-10-28 10:17 ` Inki Dae
2015-09-02 14:35 inki.dae
2015-08-30 16:22 inki.dae
2015-08-16 15:20 inki.dae
2015-06-22 16:42 inki.dae
2015-04-13  3:04 Inki Dae
2015-01-25 13:19 inki.dae
2014-11-25 12:41 Inki Dae
2014-08-04  5:02 Inki Dae
2014-06-02  6:22 Inki Dae
2014-04-03 17:34 inki.dae
2014-04-04  4:59 ` Tomasz Figa
2014-04-04  5:34   ` Inki Dae
2014-04-04  7:28     ` Tomasz Figa
2014-04-04  7:48       ` Inki Dae
2014-04-04  8:05         ` Tomasz Figa
2014-04-04  8:26           ` Inki Dae
2014-03-21  8:27 Inki Dae
2013-09-05  5:53 Inki Dae
2013-04-29  6:36 Inki Dae
2013-04-17  5:36 Inki Dae
2013-02-15  4:24 Inki Dae
2012-11-20  7:35 Inki Dae
2012-11-20  8:44 ` Marek Szyprowski
2012-11-21  7:29 ` Inki Dae
2012-10-04  2:12 Inki Dae

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=20171129095226.ud3h2eqcjmkddcc4@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=airlied@linux.ie \
    --cc=b.zolnierkie@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    /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;
as well as URLs for NNTP newsgroup(s).