<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 7, 2017 at 7:52 PM, Dave Airlie <span dir="ltr"><<a href="mailto:airlied@gmail.com" target="_blank">airlied@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">> +#ifndef SYNC_IOC_MAGIC<br>
> +/* duplicated from linux/sync_file.h to avoid build-time depnedency<br>
> + * on new (v4.7) kernel headers.  Once distro's are mostly using<br>
> + * something newer than v4.7 drop this and #include <linux/sync_file.h><br>
> + * instead.<br>
> + */<br>
> +struct sync_merge_data {<br>
> +   char  name[32];<br>
> +   __s32 fd2;<br>
> +   __s32 fence;<br>
> +   __u32 flags;<br>
> +   __u32 pad;<br>
> +};<br>
> +<br>
> +#define SYNC_IOC_MAGIC '>'<br>
> +#define SYNC_IOC_MERGE _IOWR(SYNC_IOC_MAGIC, 3, struct sync_merge_data)<br>
> +#endif<br>
> +<br>
> +int<br>
> +anv_gem_sync_file_merge(<wbr>struct anv_device *device, int fd1, int fd2)<br>
> +{<br>
> +   const char name[] = "anv merge fence";<br>
> +   struct sync_merge_data args = {<br>
> +      .fd2 = fd2,<br>
> +      .fence = -1,<br>
> +   };<br>
> +   memcpy(<a href="http://args.name" rel="noreferrer" target="_blank">args.name</a>, name, sizeof(name));<br>
> +<br>
> +   int ret = anv_ioctl(device->fd, SYNC_IOC_MERGE, &args);<br>
> +   if (ret == -1)<br>
> +      return -1;<br>
> +<br>
> +   return args.fence;<br>
> +}<br>
<br>
</div></div>This seems wrong, surely device->fd should be fd1 here?<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div> Thanks! Fixed locally.<br></div></div></div></div>