intel/decoder: tools: gen_engine to drm_i915_gem_engine_class
authorToni Lönnberg <toni.lonnberg@intel.com>
Thu, 8 Nov 2018 12:41:01 +0000 (14:41 +0200)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 13 Nov 2018 15:10:12 +0000 (15:10 +0000)
Removed the gen_engine enum and changed the involved functions to use the
drm_i915_gem_engine_class enum from UAPI instead.

v3: Wrong engine was being used for blocks in video ring

v4: Fixed aubinator_viewer.cpp
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/tools/aub_read.c
src/intel/tools/aub_read.h
src/intel/tools/aubinator.c
src/intel/tools/aubinator_viewer.cpp

index cde6cb4ba03cc351265c3b13d3cafbaf38312b72..20cb515376fe73885226f62984b28af468a7828b 100644 (file)
@@ -136,7 +136,7 @@ handle_trace_block(struct aub_read *read, const uint32_t *p)
    int type = p[1] & AUB_TRACE_TYPE_MASK;
    int address_space = p[1] & AUB_TRACE_ADDRESS_SPACE_MASK;
    int header_length = p[0] & 0xffff;
-   int engine = GEN_ENGINE_RENDER;
+   enum drm_i915_gem_engine_class engine = I915_ENGINE_CLASS_RENDER;
    const void *data = p + header_length + 2;
    uint64_t address = gen_48b_address((read->devinfo.gen >= 8 ? ((uint64_t) p[5] << 32) : 0) |
                                       ((uint64_t) p[3]));
@@ -151,13 +151,13 @@ handle_trace_block(struct aub_read *read, const uint32_t *p)
    case AUB_TRACE_OP_COMMAND_WRITE:
       switch (type) {
       case AUB_TRACE_TYPE_RING_PRB0:
-         engine = GEN_ENGINE_RENDER;
+         engine = I915_ENGINE_CLASS_RENDER;
          break;
       case AUB_TRACE_TYPE_RING_PRB1:
-         engine = GEN_ENGINE_VIDEO;
+         engine = I915_ENGINE_CLASS_VIDEO;
          break;
       case AUB_TRACE_TYPE_RING_PRB2:
-         engine = GEN_ENGINE_BLITTER;
+         engine = I915_ENGINE_CLASS_COPY;
          break;
       default:
          parse_error(read, p, "command write to unknown ring %d\n", type);
@@ -182,7 +182,7 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p)
    if (read->reg_write)
       read->reg_write(read->user_data, offset, value);
 
-   int engine;
+   enum drm_i915_gem_engine_class engine;
    uint64_t context_descriptor;
 
    switch (offset) {
@@ -192,7 +192,7 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p)
          return;
 
       read->render_elsp_index = 0;
-      engine = GEN_ENGINE_RENDER;
+      engine = I915_ENGINE_CLASS_RENDER;
       context_descriptor = (uint64_t)read->render_elsp[2] << 32 |
          read->render_elsp[3];
       break;
@@ -202,7 +202,7 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p)
          return;
 
       read->video_elsp_index = 0;
-      engine = GEN_ENGINE_VIDEO;
+      engine = I915_ENGINE_CLASS_VIDEO;
       context_descriptor = (uint64_t)read->video_elsp[2] << 32 |
          read->video_elsp[3];
       break;
@@ -212,7 +212,7 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p)
          return;
 
       read->blitter_elsp_index = 0;
-      engine = GEN_ENGINE_BLITTER;
+      engine = I915_ENGINE_CLASS_COPY;
       context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 |
          read->blitter_elsp[3];
       break;
@@ -235,17 +235,17 @@ handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p)
       read->blitter_elsp[2] = value;
       return;
    case 0x2550: /* render elsc */
-      engine = GEN_ENGINE_RENDER;
+      engine = I915_ENGINE_CLASS_RENDER;
       context_descriptor = (uint64_t)read->render_elsp[2] << 32 |
          read->render_elsp[3];
       break;
    case 0x12550: /* video_elsc */
-      engine = GEN_ENGINE_VIDEO;
+      engine = I915_ENGINE_CLASS_VIDEO;
       context_descriptor = (uint64_t)read->video_elsp[2] << 32 |
          read->video_elsp[3];
       break;
    case 0x22550: /* blitter elsc */
-      engine = GEN_ENGINE_BLITTER;
+      engine = I915_ENGINE_CLASS_COPY;
       context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 |
          read->blitter_elsp[3];
       break;
index e48ac3164bc42d5f4e5bff4aedc81687b62705fd..1e788332dcbb0f8c4038417d3a730aa2d40f62a6 100644 (file)
 #include <stdint.h>
 
 #include "dev/gen_device_info.h"
+#include "drm-uapi/i915_drm.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-enum gen_engine {
-   GEN_ENGINE_RENDER = 1,
-   GEN_ENGINE_VIDEO = 2,
-   GEN_ENGINE_BLITTER = 3,
-};
-
 struct aub_read {
    /* Caller's data */
    void *user_data;
@@ -55,9 +50,9 @@ struct aub_read {
 
    void (*reg_write)(void *user_data, uint32_t reg_offset, uint32_t reg_value);
 
-   void (*ring_write)(void *user_data, enum gen_engine engine,
+   void (*ring_write)(void *user_data, enum drm_i915_gem_engine_class engine,
                       const void *data, uint32_t data_len);
-   void (*execlist_write)(void *user_data, enum gen_engine engine,
+   void (*execlist_write)(void *user_data, enum drm_i915_gem_engine_class engine,
                           uint64_t context_descriptor);
 
    /* Reader's data */
index 1458875a3137d4984b5e060ea66dffac95edd697..ed758a6250326fc0f42ef665659726d469d6e943 100644 (file)
@@ -40,7 +40,6 @@
 
 #include "util/macros.h"
 
-#include "common/gen_decoder.h"
 #include "aub_read.h"
 #include "aub_mem.h"
 
@@ -131,7 +130,7 @@ aubinator_init(void *user_data, int aub_pci_id, const char *app_name)
 }
 
 static void
-handle_execlist_write(void *user_data, enum gen_engine engine, uint64_t context_descriptor)
+handle_execlist_write(void *user_data, enum drm_i915_gem_engine_class engine, uint64_t context_descriptor)
 {
    const uint32_t pphwsp_size = 4096;
    uint32_t pphwsp_addr = context_descriptor & 0xfffff000;
@@ -165,7 +164,7 @@ handle_execlist_write(void *user_data, enum gen_engine engine, uint64_t context_
 }
 
 static void
-handle_ring_write(void *user_data, enum gen_engine engine,
+handle_ring_write(void *user_data, enum drm_i915_gem_engine_class engine,
                   const void *data, uint32_t data_len)
 {
    batch_ctx.user_data = &mem;
index 27ef4f7e99b5b0c2a4e7b65594587d89443499ed..fe7c32a92a4a214bc7576118172907170f7e60f3 100644 (file)
@@ -97,7 +97,7 @@ handle_mem_write(void *user_data, uint64_t phys_addr,
 }
 
 static void
-handle_ring_write(void *user_data, enum gen_engine engine,
+handle_ring_write(void *user_data, enum drm_i915_gem_engine_class engine,
                   const void *ring_data, uint32_t ring_data_len)
 {
    struct aub_file *file = (struct aub_file *) user_data;
@@ -695,7 +695,7 @@ update_batch_window(struct batch_window *window, bool reset, int exec_idx)
 }
 
 static void
-display_batch_ring_write(void *user_data, enum gen_engine engine,
+display_batch_ring_write(void *user_data, enum drm_i915_gem_engine_class engine,
                          const void *data, uint32_t data_len)
 {
    struct batch_window *window = (struct batch_window *) user_data;
@@ -706,7 +706,7 @@ display_batch_ring_write(void *user_data, enum gen_engine engine,
 }
 
 static void
-display_batch_execlist_write(void *user_data, enum gen_engine engine,
+display_batch_execlist_write(void *user_data, enum drm_i915_gem_engine_class,
                              uint64_t context_descriptor)
 {
    struct batch_window *window = (struct batch_window *) user_data;