Hi Philipp, Am Montag, den 10.04.2017, 11:15 +0200 schrieb Philipp Zabel: > Import the etnaviv header changes from kernel commits 9ad59fea162c > ("drm/etnaviv: submit support for in-fences") and 78ec187f64fa > ("drm/etnaviv: submit support for out-fences") for fence fd support. > > The drm_etnaviv_gem_submit structure was extended to include a flags > field, new flags for in-fence and out-fence fds and an input/output > fence fd field. > > This is one-way backwards compatible because old userspace code passing > a short structure not including the flags field to new kernels will > cause the remaining fields to be zero-filled. New userspace code must > make sure to only pass the short structure to old kernels, though. > > Not generated using make headers_install, since the drm/etnaviv_drm.h > uapi header is not installed yet by the kernel. > Copied from the airlied/drm-next commit 78ec187f64fa. > > v2: improved commit message > > Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > Reviewed-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> I pushed those 2 patches to libdrm master. Regards, Lucas > --- > etnaviv/etnaviv_drm.h | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/etnaviv/etnaviv_drm.h b/etnaviv/etnaviv_drm.h > index 2584c1cc..76f6f78a 100644 > --- a/etnaviv/etnaviv_drm.h > +++ b/etnaviv/etnaviv_drm.h > @@ -154,6 +154,12 @@ struct drm_etnaviv_gem_submit_bo { > * one or more cmdstream buffers. This allows for conditional execution > * (context-restore), and IB buffers needed for per tile/bin draw cmds. > */ > +#define ETNA_SUBMIT_NO_IMPLICIT 0x0001 > +#define ETNA_SUBMIT_FENCE_FD_IN 0x0002 > +#define ETNA_SUBMIT_FENCE_FD_OUT 0x0004 > +#define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \ > + ETNA_SUBMIT_FENCE_FD_IN | \ > + ETNA_SUBMIT_FENCE_FD_OUT) > #define ETNA_PIPE_3D 0x00 > #define ETNA_PIPE_2D 0x01 > #define ETNA_PIPE_VG 0x02 > @@ -167,6 +173,8 @@ struct drm_etnaviv_gem_submit { > __u64 bos; /* in, ptr to array of submit_bo's */ > __u64 relocs; /* in, ptr to array of submit_reloc's */ > __u64 stream; /* in, ptr to cmdstream */ > + __u32 flags; /* in, mask of ETNA_SUBMIT_x */ > + __s32 fence_fd; /* in/out, fence fd (see ETNA_SUBMIT_FENCE_FD_x) */ > }; > > /* The normal way to synchronize with the GPU is just to CPU_PREP on _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel