[PATCH v12 0/2] staging/android: Sync ABI rework

From: Gustavo Padovan
Date: Thu Apr 21 2016 - 11:39:03 EST

From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>


Here we clean up the Sync ABI and then improve in to a more optimized version.
Also it is now less likely to need changes in the future. This is not
breaking any upstream user of the sync framework, as no driver wired support
for it, so far Android is the only user. A patch to AOSP will be provided
to fix it there.

We've made the changes in a way that userspace can figure out if the new
versions are present and if not fallback to the older ABI version. More
information on patch 2 description.

To accomplish that we had to create a u64_to_user_ptr() macro so
patch 1 adds that and also fixes some places in the kernel that
were using (void __user *)(uintptr_t) cast directly.

Patch 2 is the actual rework and has Ack from the people interested in it,
including Android folks.

Gustavo Padovan (2):
kernel.h: add u64_to_user_ptr()
staging/android: refactor SYNC IOCTLs

drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 11 ++--
drivers/gpu/drm/i915/i915_drv.h | 5 --
drivers/gpu/drm/i915/i915_gem.c | 14 ++---
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 14 ++---
drivers/gpu/drm/msm/msm_gem_submit.c | 11 ++--
drivers/staging/android/sync.c | 76 +++++++++++++++-------------
drivers/staging/android/uapi/sync.h | 36 +++++++++----
include/linux/kernel.h | 7 +++
8 files changed, 94 insertions(+), 80 deletions(-)