Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6295 → Rev 6296

/drivers/video/drm/vmwgfx/vmwgfx_fence.h
1,6 → 1,6
/**************************************************************************
*
* Copyright © 2011 VMware, Inc., Palo Alto, CA., USA
* Copyright © 2011-2012 VMware, Inc., Palo Alto, CA., USA
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
27,6 → 27,8
 
#ifndef _VMWGFX_FENCE_H_
 
#include <linux/fence.h>
 
#define VMW_FENCE_WAIT_TIMEOUT (5*HZ)
 
struct vmw_private;
50,16 → 52,11
};
 
struct vmw_fence_obj {
struct kref kref;
u32 seqno;
struct fence base;
 
struct vmw_fence_manager *fman;
struct list_head head;
uint32_t signaled;
uint32_t signal_mask;
struct list_head seq_passed_actions;
void (*destroy)(struct vmw_fence_obj *fence);
wait_queue_head_t queue;
};
 
extern struct vmw_fence_manager *
67,17 → 64,29
 
extern void vmw_fence_manager_takedown(struct vmw_fence_manager *fman);
 
extern void vmw_fence_obj_unreference(struct vmw_fence_obj **fence_p);
static inline void
vmw_fence_obj_unreference(struct vmw_fence_obj **fence_p)
{
struct vmw_fence_obj *fence = *fence_p;
 
extern struct vmw_fence_obj *
vmw_fence_obj_reference(struct vmw_fence_obj *fence);
*fence_p = NULL;
if (fence)
fence_put(&fence->base);
}
 
static inline struct vmw_fence_obj *
vmw_fence_obj_reference(struct vmw_fence_obj *fence)
{
if (fence)
fence_get(&fence->base);
return fence;
}
 
extern void vmw_fences_update(struct vmw_fence_manager *fman);
 
extern bool vmw_fence_obj_signaled(struct vmw_fence_obj *fence,
uint32_t flags);
extern bool vmw_fence_obj_signaled(struct vmw_fence_obj *fence);
 
extern int vmw_fence_obj_wait(struct vmw_fence_obj *fence, uint32_t flags,
extern int vmw_fence_obj_wait(struct vmw_fence_obj *fence,
bool lazy,
bool interruptible, unsigned long timeout);
 
85,13 → 94,11
 
extern int vmw_fence_create(struct vmw_fence_manager *fman,
uint32_t seqno,
uint32_t mask,
struct vmw_fence_obj **p_fence);
 
extern int vmw_user_fence_create(struct drm_file *file_priv,
struct vmw_fence_manager *fman,
uint32_t sequence,
uint32_t mask,
struct vmw_fence_obj **p_fence,
uint32_t *p_handle);
 
111,7 → 118,6
struct drm_file *file_priv);
extern void vmw_event_fence_fpriv_gone(struct vmw_fence_manager *fman,
struct list_head *event_list);
/*
extern int vmw_event_fence_action_queue(struct drm_file *filee_priv,
struct vmw_fence_obj *fence,
struct drm_pending_event *event,
118,6 → 124,4
uint32_t *tv_sec,
uint32_t *tv_usec,
bool interruptible);
*/
 
#endif /* _VMWGFX_FENCE_H_ */