On Mon, Feb 17, 2014 at 10:58 AM, Maarten Lankhorst maarten.lankhorst@canonical.com wrote:
Signed-off-by: Maarten Lankhorst maarten.lankhorst@canonical.com
Reviewed-by: Rob Clark robdclark@gmail.com
include/linux/reservation.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/include/linux/reservation.h b/include/linux/reservation.h index 813dae960ebd..92c4851b5a39 100644 --- a/include/linux/reservation.h +++ b/include/linux/reservation.h @@ -6,7 +6,7 @@
- Copyright (C) 2012 Texas Instruments
- Authors:
- Rob Clark rob.clark@linaro.org
- Rob Clark robdclark@gmail.com
- Maarten Lankhorst maarten.lankhorst@canonical.com
- Thomas Hellstrom <thellstrom-at-vmware-dot-com>
@@ -40,22 +40,38 @@ #define _LINUX_RESERVATION_H
#include <linux/ww_mutex.h> +#include <linux/fence.h>
extern struct ww_class reservation_ww_class;
struct reservation_object { struct ww_mutex lock;
struct fence *fence_excl;
struct fence **fence_shared;
u32 fence_shared_count, fence_shared_max;
};
static inline void reservation_object_init(struct reservation_object *obj) { ww_mutex_init(&obj->lock, &reservation_ww_class);
obj->fence_shared_count = obj->fence_shared_max = 0;
obj->fence_shared = NULL;
obj->fence_excl = NULL;
}
static inline void reservation_object_fini(struct reservation_object *obj) {
int i;
if (obj->fence_excl)
fence_put(obj->fence_excl);
for (i = 0; i < obj->fence_shared_count; ++i)
fence_put(obj->fence_shared[i]);
ww_mutex_destroy(&obj->lock);
}