diff options
Diffstat (limited to 'lib/igt_gt.h')
-rw-r--r-- | lib/igt_gt.h | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/lib/igt_gt.h b/lib/igt_gt.h index 1ed78837..f1e080d3 100644 --- a/lib/igt_gt.h +++ b/lib/igt_gt.h @@ -24,12 +24,54 @@ #ifndef IGT_GT_H #define IGT_GT_H +#include "igt_debugfs.h" + void igt_require_hang_ring(int fd, int ring); -struct igt_hang_ring { +typedef struct igt_hang_ring { unsigned handle; unsigned ban; -} igt_hang_ring(int fd, int gen, int ring); +} igt_hang_ring_t; + +struct igt_hang_ring igt_hang_ring(int fd, int ring); void igt_post_hang_ring(int fd, struct igt_hang_ring data); +int igt_fork_hang_helper(void); +void igt_stop_hang_helper(void); + +int igt_open_forcewake_handle(void); + +/** + * stop_ring_flags: + * @STOP_RING_NONE: Can be used to clear the pending stop (warning: hang might + * be declared already). Returned by igt_get_stop_rings() if there is + * no currently stopped rings. + * @STOP_RING_RENDER: Render ring + * @STOP_RING_BSD: Video encoding/decoding ring + * @STOP_RING_BLT: Blitter ring + * @STOP_RING_VEBOX: Video enhancement ring + * @STOP_RING_ALL: All rings + * @STOP_RING_ALLOW_ERRORS: Driver will not omit expected DRM_ERRORS + * @STOP_RING_ALLOW_BAN: Driver will use context ban policy + * @STOP_RING_DEFAULTS: STOP_RING_ALL | STOP_RING_ALLOW_ERRORS + * + * Enumeration of all supported flags for igt_set_stop_rings(). + * + */ +enum stop_ring_flags { + STOP_RING_NONE = 0x00, + STOP_RING_RENDER = (1 << 0), + STOP_RING_BSD = (1 << 1), + STOP_RING_BLT = (1 << 2), + STOP_RING_VEBOX = (1 << 3), + STOP_RING_ALL = 0xff, + STOP_RING_ALLOW_ERRORS = (1 << 30), + STOP_RING_ALLOW_BAN = (1 << 31), + STOP_RING_DEFAULTS = STOP_RING_ALL | STOP_RING_ALLOW_ERRORS, +}; + +enum stop_ring_flags igt_to_stop_ring_flag(int ring); +void igt_set_stop_rings(enum stop_ring_flags flags); +enum stop_ring_flags igt_get_stop_rings(void); + #endif /* IGT_GT_H */ |