diff options
author | Ian Romanick <idr@us.ibm.com> | 2008-06-10 22:18:14 -0700 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2008-06-10 22:18:14 -0700 |
commit | b535567ee95b8407d7860a4d6350df8e8fbac15a (patch) | |
tree | 427f1de1a990ef7195cafef93e3b7e54a40f582c /linux-core/xgi_drv.h | |
parent | 4f3da2f200577fcfbf913985246b3a4d23c6a818 (diff) |
xgixp: Remove dependency on TTM fences
Diffstat (limited to 'linux-core/xgi_drv.h')
-rw-r--r-- | linux-core/xgi_drv.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/linux-core/xgi_drv.h b/linux-core/xgi_drv.h index 0d85e559..2fd73b9e 100644 --- a/linux-core/xgi_drv.h +++ b/linux-core/xgi_drv.h @@ -74,6 +74,7 @@ struct xgi_info { struct xgi_cmdring_info cmdring; DRM_SPINTYPE fence_lock; + wait_queue_head_t fence_queue; unsigned complete_sequence; unsigned next_sequence; }; @@ -98,12 +99,24 @@ extern void xgi_disable_mmio(struct xgi_info * info); extern void xgi_enable_ge(struct xgi_info * info); extern void xgi_disable_ge(struct xgi_info * info); +/* TTM-style fences. + */ +#ifdef XGI_HAVE_FENCE extern void xgi_poke_flush(struct drm_device * dev, uint32_t class); extern int xgi_fence_emit_sequence(struct drm_device * dev, uint32_t class, uint32_t flags, uint32_t * sequence, uint32_t * native_type); extern void xgi_fence_handler(struct drm_device * dev); extern int xgi_fence_has_irq(struct drm_device *dev, uint32_t class, uint32_t flags); +#endif /* XGI_HAVE_FENCE */ + + +/* Non-TTM-style fences. + */ +extern int xgi_set_fence_ioctl(struct drm_device * dev, void * data, + struct drm_file * filp); +extern int xgi_wait_fence_ioctl(struct drm_device * dev, void * data, + struct drm_file * filp); extern int xgi_alloc_ioctl(struct drm_device * dev, void * data, struct drm_file * filp); |