intel/gen_decoder: Rename internally "group" to "array".
authorRafael Antognolli <rafael.antognolli@intel.com>
Thu, 11 Jul 2019 23:02:46 +0000 (16:02 -0700)
committerRafael Antognolli <rafael.antognolli@intel.com>
Tue, 23 Jul 2019 17:45:19 +0000 (17:45 +0000)
A gen_group (group in most of the code) can be of several types:
   - instruction
   - struct
   - register
   - group (?!?)

The <group> tag actually represents an array of elements. So at least
in our code, lets call it an array to avoid confusion with gen_group.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/common/gen_decoder.c
src/intel/common/gen_decoder.h

index 69c68ff85f00bd4166d4e3a80118a565013e37b9..0bbcc8e7affcee9ed8df151b88195121f8ac68a3 100644 (file)
@@ -128,7 +128,7 @@ fail(struct location *loc, const char *msg, ...)
 }
 
 static void
-get_group_offset_count(const char **atts, uint32_t *offset, uint32_t *count,
+get_array_offset_count(const char **atts, uint32_t *offset, uint32_t *count,
                        uint32_t *size, bool *variable)
 {
    for (int i = 0; atts[i]; i += 2) {
@@ -203,10 +203,10 @@ create_group(struct parser_context *ctx,
 
    if (parent) {
       group->parent = parent;
-      get_group_offset_count(atts,
-                             &group->group_offset,
-                             &group->group_count,
-                             &group->group_size,
+      get_array_offset_count(atts,
+                             &group->array_offset,
+                             &group->array_count,
+                             &group->array_item_size,
                              &group->variable);
    }
 
@@ -874,22 +874,26 @@ iter_more_fields(const struct gen_field_iterator *iter)
 }
 
 static uint32_t
-iter_group_offset_bits(const struct gen_field_iterator *iter,
-                       uint32_t group_iter)
+iter_array_offset_bits(const struct gen_field_iterator *iter,
+                       uint32_t array_iter)
 {
-   return iter->group->group_offset + (group_iter * iter->group->group_size);
+   return iter->group->array_offset +
+      (array_iter * iter->group->array_item_size);
 }
 
+/* Checks whether we have more items in the array to iterate, or more arrays to
+ * iterate through.
+ */
 static bool
-iter_more_groups(const struct gen_field_iterator *iter)
+iter_more_arrays(const struct gen_field_iterator *iter)
 {
    if (iter->group->variable) {
       int length = gen_group_get_length(iter->group, iter->p);
       assert(length >= 0 && "error the length is unknown!");
-      return iter_group_offset_bits(iter, iter->group_iter + 1) <
+      return iter_array_offset_bits(iter, iter->array_iter + 1) <
               (length * 32);
    } else {
-      return (iter->group_iter + 1) < iter->group->group_count ||
+      return (iter->array_iter + 1) < iter->group->array_count ||
          iter->group->next != NULL;
    }
 }
@@ -899,24 +903,24 @@ iter_start_field(struct gen_field_iterator *iter, struct gen_field *field)
 {
    iter->field = field;
 
-   int group_member_offset = iter_group_offset_bits(iter, iter->group_iter);
+   int array_member_offset = iter_array_offset_bits(iter, iter->array_iter);
 
-   iter->start_bit = group_member_offset + iter->field->start;
-   iter->end_bit = group_member_offset + iter->field->end;
+   iter->start_bit = array_member_offset + iter->field->start;
+   iter->end_bit = array_member_offset + iter->field->end;
    iter->struct_desc = NULL;
 }
 
 static void
-iter_advance_group(struct gen_field_iterator *iter)
+iter_advance_array(struct gen_field_iterator *iter)
 {
    if (iter->group->variable)
-      iter->group_iter++;
+      iter->array_iter++;
    else {
-      if ((iter->group_iter + 1) < iter->group->group_count) {
-         iter->group_iter++;
+      if ((iter->array_iter + 1) < iter->group->array_count) {
+         iter->array_iter++;
       } else {
          iter->group = iter->group->next;
-         iter->group_iter = 0;
+         iter->array_iter = 0;
       }
    }
 
@@ -929,10 +933,10 @@ iter_advance_field(struct gen_field_iterator *iter)
    if (iter_more_fields(iter)) {
       iter_start_field(iter, iter->field->next);
    } else {
-      if (!iter_more_groups(iter))
+      if (!iter_more_arrays(iter))
          return false;
 
-      iter_advance_group(iter);
+      iter_advance_array(iter);
    }
    return true;
 }
@@ -1046,7 +1050,7 @@ iter_decode_field(struct gen_field_iterator *iter)
    if (strlen(iter->group->name) == 0) {
       int length = strlen(iter->name);
       snprintf(iter->name + length, sizeof(iter->name) - length,
-               "[%i]", iter->group_iter);
+               "[%i]", iter->array_iter);
    }
 
    if (enum_name) {
index 2dba6f1898a75fc658913bcc764c7e49a24e402b..9ef253c50ce01f6a50ab4f05857a6a11c73c0928 100644 (file)
@@ -84,7 +84,7 @@ struct gen_field_iterator {
    int start_bit; /**< current field starts at this bit offset into p */
    int end_bit; /**< current field ends at this bit offset into p */
 
-   int group_iter;
+   int array_iter;
 
    struct gen_field *field;
    bool print_colors;
@@ -112,8 +112,9 @@ struct gen_group {
    uint32_t dw_length;
    uint32_t engine_mask; /* <instruction> specific */
    uint32_t bias; /* <instruction> specific */
-   uint32_t group_offset, group_count;
-   uint32_t group_size;
+   uint32_t array_offset; /* <group> specific */
+   uint32_t array_count; /* number of elements, <group> specific */
+   uint32_t array_item_size; /* <group> specific */
    bool variable; /* <group> specific */
    bool fixed_length; /* True for <struct> & <register> */