[PATCH libdrm v3 1/2] etnaviv: sync uapi header
Lucas Stach
l.stach at pengutronix.de
Wed Apr 12 10:08:08 UTC 2017
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 at pengutronix.de>
> Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
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
More information about the dri-devel
mailing list