drm: Move LOCK_TEST_WITH_RETURN to <drm/drm_legacy.h>
Unfortunately we can't move struct drm_lock_data easily since it's embedded into struct drm_master. And figuring out where exactly this struct should be allocated isn't that simple ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
ba8286fab5
commit
8f1a2c8dc0
|
@ -221,23 +221,6 @@ int drm_err(const char *func, const char *format, ...);
|
||||||
|
|
||||||
#define DRM_IF_VERSION(maj, min) (maj << 16 | min)
|
#define DRM_IF_VERSION(maj, min) (maj << 16 | min)
|
||||||
|
|
||||||
/**
|
|
||||||
* Test that the hardware lock is held by the caller, returning otherwise.
|
|
||||||
*
|
|
||||||
* \param dev DRM device.
|
|
||||||
* \param filp file pointer of the caller.
|
|
||||||
*/
|
|
||||||
#define LOCK_TEST_WITH_RETURN( dev, _file_priv ) \
|
|
||||||
do { \
|
|
||||||
if (!_DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock) || \
|
|
||||||
_file_priv->master->lock.file_priv != _file_priv) { \
|
|
||||||
DRM_ERROR( "%s called without lock held, held %d owner %p %p\n",\
|
|
||||||
__func__, _DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock),\
|
|
||||||
_file_priv->master->lock.file_priv, _file_priv); \
|
|
||||||
return -EINVAL; \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ioctl function type.
|
* Ioctl function type.
|
||||||
*
|
*
|
||||||
|
|
|
@ -161,6 +161,23 @@ struct drm_local_map *drm_legacy_getsarea(struct drm_device *dev);
|
||||||
int drm_legacy_addbufs_agp(struct drm_device *d, struct drm_buf_desc *req);
|
int drm_legacy_addbufs_agp(struct drm_device *d, struct drm_buf_desc *req);
|
||||||
int drm_legacy_addbufs_pci(struct drm_device *d, struct drm_buf_desc *req);
|
int drm_legacy_addbufs_pci(struct drm_device *d, struct drm_buf_desc *req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test that the hardware lock is held by the caller, returning otherwise.
|
||||||
|
*
|
||||||
|
* \param dev DRM device.
|
||||||
|
* \param filp file pointer of the caller.
|
||||||
|
*/
|
||||||
|
#define LOCK_TEST_WITH_RETURN( dev, _file_priv ) \
|
||||||
|
do { \
|
||||||
|
if (!_DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock) || \
|
||||||
|
_file_priv->master->lock.file_priv != _file_priv) { \
|
||||||
|
DRM_ERROR( "%s called without lock held, held %d owner %p %p\n",\
|
||||||
|
__func__, _DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock),\
|
||||||
|
_file_priv->master->lock.file_priv, _file_priv); \
|
||||||
|
return -EINVAL; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
void drm_legacy_idlelock_take(struct drm_lock_data *lock);
|
void drm_legacy_idlelock_take(struct drm_lock_data *lock);
|
||||||
void drm_legacy_idlelock_release(struct drm_lock_data *lock);
|
void drm_legacy_idlelock_release(struct drm_lock_data *lock);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue