From: Inki Dae <inki.dae@samsung.com>
To: 'Daniel Vetter' <daniel@ffwll.ch>
Cc: 'Intel Graphics Development' <intel-gfx@lists.freedesktop.org>,
'DRI Development' <dri-devel@lists.freedesktop.org>
Subject: RE: [PATCH 1/3] drm: use common drm_gem_dmabuf_release in i915/exynos drivers
Date: Thu, 08 Aug 2013 13:32:42 +0900 [thread overview]
Message-ID: <009501ce93f0$529ce090$f7d6a1b0$%dae@samsung.com> (raw)
In-Reply-To: <20130807232114.GH22035@phenom.ffwll.local>
> -----Original Message-----
> From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel
> Vetter
> Sent: Thursday, August 08, 2013 8:21 AM
> To: Inki Dae
> Cc: Daniel Vetter; Intel Graphics Development; DRI Development
> Subject: Re: [PATCH 1/3] drm: use common drm_gem_dmabuf_release in
> i915/exynos drivers
>
> On Wed, Aug 07, 2013 at 09:37:52PM +0900, Inki Dae wrote:
> > 2013/8/7 Daniel Vetter <daniel@ffwll.ch>
> >
> > > On Wed, Aug 7, 2013 at 2:01 PM, Inki Dae <inki.dae@samsung.com> wrote:
> > > >
> > > >
> > > > 2013/8/7 Daniel Vetter <daniel@ffwll.ch>
> > > >>
> > > >> On Wed, Aug 07, 2013 at 07:18:45PM +0900, Joonyoung Shim wrote:
> > > >> > On 08/07/2013 06:55 PM, Daniel Vetter wrote:
> > > >> > >On Wed, Aug 7, 2013 at 11:40 AM, Inki Dae <inki.dae@samsung.com>
> > > wrote:
> > > >> > >>>-----Original Message-----
> > > >> > >>>From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch]
> > > >> > >>>Sent: Wednesday, August 07, 2013 6:15 PM
> > > >> > >>>To: DRI Development
> > > >> > >>>Cc: Intel Graphics Development; Daniel Vetter; Inki Dae
> > > >> > >>>Subject: [PATCH 1/3] drm: use common drm_gem_dmabuf_release in
> > > >> > >>> i915/exynos
> > > >> > >>>drivers
> > > >> > >>>
> > > >> > >>>Note that this is slightly tricky since both drivers store
> their
> > > >> > >>>native objects in dma_buf->priv. But both also embed the base
> > > >> > >>>drm_gem_object at the first position, so the implicit cast is
> ok.
> > > >> > >>>
> > > >> > >>>To use the release helper we need to export it, too.
> > > >> > >>Yeah, may I repost this patch with additional work? We also
> need to
> > > >> > >> export
> > > >> > >>with a gem object instead of specific one like you did.
> > > >> >
> > > >> > I think dmabuf stuff of exynos can be replaced to common
> > > drm_gem_dmabuf.
> > > >> > Already dmabuf stuff of drm_gem_cma_helper.c was substituted to
> common
> > > >> > drm_gem_dmabuf with low-level hook functions to use prime
helpers.
> > > >>
> > > >> Ah, but that can easily be done on top of this, right?
> > > >
> > > >
> > > > Daniel, could you remove exynos related codes from your patch set?
> Your
> > > > patch set would make exynos broken because you didn't consider
> exporting
> > > > with a gem object for exynos like [PATCH 3/3] drm/i915: explicit
> store
> > > base
> > > > gem object in dma_buf->priv. So I think your patch set is not
> complete
> > > set,
> > > > and That is why exynos needs the additional work I mentioned above.
> So I
> > > > just wanted to repost your patch set + new one.
> > >
> > > Nope, my patch should not break exynos since the base gem_object is
> > > the first member of the exynos object, so we don't have any issues
> > >
> >
> > Ah, right. However, it does not seem like good way.
> >
> >
> > > with upcasting in exynos dma-buf code. The same applies to i915
> > > dma-buf code, my follow-up patch just makes the code a bit safer.
> > >
> > >
> > >
> >
> > >
> >
> > >
> > > However, I think not only exynos could go to common drm_gem_dmabuf
> > > directly
> > > > but also it would make your patch set to be complete set if you
> remove
> > > > exynos related codes from your patch set. Otherwise, we have to work
> > > twice.
> > > > one is the additional work for resolving exynos broken issue by your
> > > patch
> > > > set, and other is to replace existing dmabuf stuff of exynos to
> common
> > > > drm_gem_dmabuf.
> > >
> > > Yeah np, I'll drop exynos then.
> > >
> >
> > Thanks a lot. :)
>
> Ah, I remember again why I want to also convert over exynos to the common
> dma buf release function: Later patches in my prime locking series will
> change things in there to avoid a userspace-triggerable oops. If we leave
> out exynos it'll break rather badly for dma-buf export.
>
> I need to think a bit more about what stuff looks like atm, but if I
> resend those parts I'll include exynos. It's a bit tricky that it still
> works, but that way you can fix it up without the introduction of a bisect
> failure point.
I'll repost your patch set + new one that exports to a common gem object;
already worked and tested. I think it's good for they to be one set because
only using the patch 1/3 doesn't look good even though Exynos works fine
with the path 1/3.
So I'll repost it like below if you agree with me,
[PATCH 0/4] Small i915/exynos prime cleanup
[PATCH 1/4] drm: use common drm_gem_dmabuf_release in i915/exynos drivers
[PATCH 2/4] drm/i915: unpin backing storage in dmabuf_unmap
[PATCH 3/4] drm/i915: explicit store base gem object in dma_buf->priv
[PATCH 4/4] drm/exynos: explicit store base gem object in dma_buf->priv
After this, you can take care of them until merged to next. Or you can
repost this patch set including my patch again. What you proper doesn't
matter to me. :)
And it seems better that exynos keeps using existing dmabuf interfaces
without replacing them to common drm_gem_dmabuf ones because we may need
features only for Exynos. Actually, now exynos dmabuf includes some features
related to v4l2 and gpu driver for more performance.
Thanks,
Inki Dae
> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
next prev parent reply other threads:[~2013-08-08 4:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-07 9:15 [PATCH 0/3] Small i915/exynos prime cleanup Daniel Vetter
2013-08-07 9:15 ` [PATCH 1/3] drm: use common drm_gem_dmabuf_release in i915/exynos drivers Daniel Vetter
2013-08-07 9:37 ` [Intel-gfx] " Chris Wilson
2013-08-07 9:40 ` Inki Dae
2013-08-07 9:55 ` Daniel Vetter
2013-08-07 10:18 ` Joonyoung Shim
2013-08-07 10:21 ` Daniel Vetter
2013-08-07 10:29 ` Joonyoung Shim
2013-08-07 12:01 ` Inki Dae
2013-08-07 12:07 ` Daniel Vetter
2013-08-07 12:37 ` Inki Dae
2013-08-07 23:21 ` Daniel Vetter
2013-08-08 4:32 ` Inki Dae [this message]
2013-08-08 4:39 ` [PATCH 1/4] drm/exynos: explicit store base gem object in dma_buf->priv Inki Dae
2013-08-08 4:56 ` Inki Dae
2013-08-08 6:58 ` Daniel Vetter
2013-08-08 6:31 ` [PATCH 1/3] drm: use common drm_gem_dmabuf_release in i915/exynos drivers Daniel Vetter
2013-08-07 9:15 ` [PATCH 2/3] drm/i915: unpin backing storage in dmabuf_unmap Daniel Vetter
2013-08-07 9:19 ` Daniel Vetter
2013-08-07 9:29 ` [Intel-gfx] " Chris Wilson
2013-08-07 9:49 ` Daniel Vetter
2013-08-07 10:09 ` [PATCH 1/2] " Daniel Vetter
2013-08-07 10:09 ` [PATCH 2/2] drm/i915: no interruptible locking for dma_buf->map Daniel Vetter
2013-08-07 10:30 ` Chris Wilson
2013-08-07 10:49 ` Daniel Vetter
2013-08-07 10:40 ` [PATCH 1/2] drm/i915: unpin backing storage in dmabuf_unmap Maarten Lankhorst
2013-08-08 0:50 ` Konrad Rzeszutek Wilk
2013-08-08 1:20 ` Chris Wilson
2013-08-07 9:15 ` [PATCH 3/3] drm/i915: explicit store base gem object in dma_buf->priv Daniel Vetter
2013-08-07 9:43 ` Chris Wilson
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='009501ce93f0$529ce090$f7d6a1b0$%dae@samsung.com' \
--to=inki.dae@samsung.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.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