summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/intel_engine_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_engine_types.h')
-rw-r--r--drivers/gpu/drm/i915/intel_engine_types.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_engine_types.h b/drivers/gpu/drm/i915/intel_engine_types.h
index b3249bf6a65f..1f970c76b6a6 100644
--- a/drivers/gpu/drm/i915/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/intel_engine_types.h
@@ -13,8 +13,10 @@
#include <linux/list.h>
#include <linux/types.h>
+#include "i915_gem.h"
+#include "i915_priolist_types.h"
+#include "i915_selftest.h"
#include "i915_timeline_types.h"
-#include "intel_device_info.h"
#include "intel_workarounds_types.h"
#include "i915_gem_batch_pool.h"
@@ -25,12 +27,16 @@
#define I915_CMD_HASH_ORDER 9
+struct dma_fence;
struct drm_i915_reg_table;
struct i915_gem_context;
struct i915_request;
struct i915_sched_attr;
struct intel_uncore;
+typedef u8 intel_engine_mask_t;
+#define ALL_ENGINES ((intel_engine_mask_t)~0ul)
+
struct intel_hw_status_page {
struct i915_vma *vma;
u32 *addr;
@@ -105,8 +111,9 @@ enum intel_engine_id {
VCS3,
#define _VCS(n) (VCS0 + (n))
VECS0,
- VECS1
+ VECS1,
#define _VECS(n) (VECS0 + (n))
+ I915_NUM_ENGINES
};
struct st_preempt_hang {
@@ -240,6 +247,11 @@ struct intel_engine_execlists {
u32 preempt_complete_status;
/**
+ * @csb_size: context status buffer FIFO size
+ */
+ u8 csb_size;
+
+ /**
* @csb_head: context status buffer head
*/
u8 csb_head;
@@ -425,6 +437,7 @@ struct intel_engine_cs {
#define I915_ENGINE_SUPPORTS_STATS BIT(1)
#define I915_ENGINE_HAS_PREEMPTION BIT(2)
#define I915_ENGINE_HAS_SEMAPHORES BIT(3)
+#define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
unsigned int flags;
/*
@@ -508,6 +521,12 @@ intel_engine_has_semaphores(const struct intel_engine_cs *engine)
return engine->flags & I915_ENGINE_HAS_SEMAPHORES;
}
+static inline bool
+intel_engine_needs_breadcrumb_tasklet(const struct intel_engine_cs *engine)
+{
+ return engine->flags & I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
+}
+
#define instdone_slice_mask(dev_priv__) \
(IS_GEN(dev_priv__, 7) ? \
1 : RUNTIME_INFO(dev_priv__)->sseu.slice_mask)