All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	intel-gfx <intel-gfx@lists.freedesktop.org>,
	John Stultz <john.stultz@linaro.org>
Subject: Re: [PATCH] drm/i915: Android sync points for i915 v2
Date: Tue, 5 Aug 2014 07:59:28 -0700	[thread overview]
Message-ID: <20140805075928.44d6a316@jbarnes-desktop> (raw)
In-Reply-To: <CAKMK7uH2KjNvF4EenC335Bk-3LM+inZNjWJ=ZkQTGWjL186kfw@mail.gmail.com>

On Tue, 5 Aug 2014 09:44:00 +0200
Daniel Vetter <daniel@ffwll.ch> wrote:

> On Tue, Aug 5, 2014 at 1:18 AM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > +#define DRM_IOCTL_I915_GEM_FENCE                       DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_FENCE, struct drm_i915_gem_fence)
> >
> >  /* Allow drivers to submit batchbuffers directly to hardware, relying
> >   * on the security mechanisms provided by hardware.
> > @@ -1066,4 +1068,25 @@ struct drm_i915_gem_userptr {
> >         __u32 handle;
> >  };
> >
> > +/**
> > + * drm_i915_gem_fence - create a fence
> > + * @fd: fd for fence
> > + * @ctx_id: context ID for fence
> > + * @flags: flags for operation
> > + *
> > + * Creates a fence in @fd and returns it to the caller.  This fd can be
> > + * passed around between processes as any other fd, and can be poll'd
> > + * and read for status.
> > + *
> > + * RETURNS:
> > + * A valid fd in the @fd field or an errno on error.
> > + */
> > +struct drm_i915_gem_fence {
> > +       __s32 fd;
> > +       __u32 ctx_id;
> > +       __u32 flags;
> > +       __u32 pad;
> > +       char name[32];
> > +};
> > +
> 
> This doesn't really look like the interface I'd expected. Imo we just
> need to add a flag to execbuf so that userspace can tell the kernel to
> create a fence for that execbuf, and switch one of the leftover rsvd
> fields to __s32 as an outparam for the fd.

Given that I've got a new execbuf coming too, I just wanted to keep
them separate.  Any compelling reason to try to wedge it into execbuf?

> Then we need similar flags for vblank events and pageflips to do the
> same (obviously those are drm core patches) and it's all there. That
> should probably integrated as a special type of drm_event, so that
> drivers don't need to change a single line of code.

Except for actually using the fences...

> Also this should be based on top of Chris' patch to refcount requests
> and make them first-class structures. Then we can simply replace the
> embedded struct kref with a struct fence, i.e. we'll always create a
> fence, but only give userspace an fd handle for it when it asks for
> it.

Yeah I think that was mentioned in the commit.  Once Chris's stuff
lands this should look even simpler.

> For merging there's a few things we need:
> - Some open-source user, either the open-source android-ia project or
> something else.
> - The android syncpt stuff obviously needs to be de-staged. From my
> side that means an ABI review of what's there (and getting the buy-in
> from google guys if we need to change it) plus a full set of testcases
> (if google doesn't already have something we could integrate easily).
> Adding Greg and relevant people.

Yep, I'm hoping Chris has a use for this too in the DDX.  I think
Wayland wants it too.

-- 
Jesse Barnes, Intel Open Source Technology Center

  reply	other threads:[~2014-08-05 14:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-31 18:58 [RFC] Sync points/fences for i915 Jesse Barnes
2014-07-31 18:58 ` [PATCH] drm/i915: Android sync points " Jesse Barnes
2014-08-01  6:23   ` Maarten Lankhorst
2014-08-04 23:18     ` [PATCH] drm/i915: Android sync points for i915 v2 Jesse Barnes
2014-08-05  7:44       ` Daniel Vetter
2014-08-05 14:59         ` Jesse Barnes [this message]
2014-08-05 15:00           ` Maarten Lankhorst
2014-08-05 15:08           ` Daniel Vetter
2014-08-05 16:05             ` Jesse Barnes
2014-08-05 16:08               ` Daniel Vetter
2014-08-05 16:32                 ` Jesse Barnes
2014-08-05 17:09                 ` Jesse Barnes
2014-08-05 17:43                   ` Daniel Vetter
2014-08-05 17:52                     ` Jesse Barnes
2014-08-05  8:09       ` Maarten Lankhorst
2014-08-05 15:03         ` Jesse Barnes
2014-08-05 15:09           ` Daniel Vetter
2014-08-01  9:04   ` [PATCH] drm/i915: Android sync points for i915 Tvrtko Ursulin
2014-08-01 16:02     ` Jesse Barnes

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=20140805075928.44d6a316@jbarnes-desktop \
    --to=jbarnes@virtuousgeek.org \
    --cc=daniel@ffwll.ch \
    --cc=gregkh@linuxfoundation.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=john.stultz@linaro.org \
    --cc=maarten.lankhorst@canonical.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 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.