aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drmP.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-05-27 17:50:39 -0700
committerEric Anholt <eric@anholt.net>2008-05-27 18:03:18 -0700
commite10502002f0ebb2b56b19384b2f2eae7a7a84512 (patch)
tree0f8ac103f9995e0d4ef8218e629c214f8bef6595 /linux-core/drmP.h
parent1f4e36081bd6ff7d7b53a62e0c8db7c0f82edf99 (diff)
[intel-gem] Replace idlelock usage with real lock acquisition.
Diffstat (limited to 'linux-core/drmP.h')
-rw-r--r--linux-core/drmP.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/linux-core/drmP.h b/linux-core/drmP.h
index fc7043d7..8246f44a 100644
--- a/linux-core/drmP.h
+++ b/linux-core/drmP.h
@@ -474,6 +474,11 @@ struct drm_lock_data {
uint32_t kernel_waiters;
uint32_t user_waiters;
int idle_has_lock;
+ /**
+ * Boolean signaling that the lock is held on behalf of the
+ * file_priv client by the kernel in an ioctl handler.
+ */
+ int kernel_held;
};
/**
@@ -778,6 +783,7 @@ struct drm_driver {
* Driver-specific callback to set memory domains from userspace
*/
int (*gem_set_domain) (struct drm_gem_object *obj,
+ struct drm_file *file_priv,
uint32_t read_domains,
uint32_t write_domain);
@@ -1178,6 +1184,9 @@ extern int drm_lock_take(struct drm_lock_data *lock_data, unsigned int context);
extern int drm_lock_free(struct drm_lock_data *lock_data, unsigned int context);
extern void drm_idlelock_take(struct drm_lock_data *lock_data);
extern void drm_idlelock_release(struct drm_lock_data *lock_data);
+extern int drm_client_lock_take(struct drm_device *dev,
+ struct drm_file *file_priv);
+extern void drm_client_lock_release(struct drm_device *dev);
/*
* These are exported to drivers so that they can implement fencing using