Op 03-03-16 om 15:34 schreef Gustavo Padovan:
From: Gustavo Padovan gustavo.padovan@collabora.co.uk
Change SYNC_IOC_FILE_INFO behaviour to avoid future API breaks and optimize buffer
Now num_fences can be filled by the caller to inform how many fences it wants to retrieve from the kernel. If the num_fences passed is greater than zero info->sync_fence_info should point to a buffer with enough space to fit all fences.
However if num_fences passed to the kernel is 0, the kernel will reply with number of fences of the sync_file.
Sending first an ioctl with num_fences = 0 can optimize buffer allocation, in a first call with num_fences = 0 userspace will receive the actual number of fences in the num_fences filed.
Then it can allocate a buffer with the correct size on sync_fence_info and call SYNC_IOC_FILE_INFO again, but now with the actual value of num_fences in the sync_file.
Also, info->sync_fence_info was converted to __u64 pointer to prevent 32bit compatibility issues.
For this patch and 6/6:
Reviewed-by: Maarten Lankhorst maarten.lankhorst@linux.intel.com