Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
To: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: <igt-dev@lists.freedesktop.org>
Subject: Re: [PATCH i-g-t 06/28] lib/xe/oa: Switch generated files to Xe namespace
Date: Thu, 20 Jun 2024 16:24:01 -0700	[thread overview]
Message-ID: <ZnS6Eekqq3RzLWFH@orsosgc001> (raw)
In-Reply-To: <20240620200054.3550653-7-ashutosh.dixit@intel.com>

On Thu, Jun 20, 2024 at 01:00:31PM -0700, Ashutosh Dixit wrote:
>The Xe IGT library occupies a different namespace ('intel_xe') from the
>i915 IGT library ('intel' or 'i915'). The generated files are also part of
>the Xe IGT library. Therefore make sure the functions and data structs in
>the generated files conform to Xe namespace.
>
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>

Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

>---
> lib/xe/oa-configs/codegen.py              |  6 ++--
> lib/xe/oa-configs/oa-equations-codegen.py | 36 +++++++++++------------
> lib/xe/oa-configs/oa-metricset-codegen.py | 26 ++++++++--------
> lib/xe/oa-configs/oa-registers-codegen.py | 10 +++----
> 4 files changed, 39 insertions(+), 39 deletions(-)
>
>diff --git a/lib/xe/oa-configs/codegen.py b/lib/xe/oa-configs/codegen.py
>index 020e76ef4b..9a7d57a33e 100644
>--- a/lib/xe/oa-configs/codegen.py
>+++ b/lib/xe/oa-configs/codegen.py
>@@ -340,13 +340,13 @@ class Gen:
>             return set.read_funcs[name] + "(perf, metric_set, accumulator)"
>         m = re.search('\$GtSlice([0-9]+)$', name)
>         if m:
>-            return 'intel_perf_devinfo_slice_available(&perf->devinfo, {0})'.format(m.group(1))
>+            return 'intel_xe_perf_devinfo_slice_available(&perf->devinfo, {0})'.format(m.group(1))
>         m = re.search('\$GtSlice([0-9]+)DualSubslice([0-9]+)$', name)
>         if m:
>-            return 'intel_perf_devinfo_subslice_available(&perf->devinfo, {0}, {1})'.format(m.group(1), m.group(2))
>+            return 'intel_xe_perf_devinfo_subslice_available(&perf->devinfo, {0}, {1})'.format(m.group(1), m.group(2))
>         m = re.search('\$GtSlice([0-9]+)XeCore([0-9]+)$', name)
>         if m:
>-            return 'intel_perf_devinfo_subslice_available(&perf->devinfo, {0}, {1})'.format(m.group(1), m.group(2))
>+            return 'intel_xe_perf_devinfo_subslice_available(&perf->devinfo, {0}, {1})'.format(m.group(1), m.group(2))
>         return None
>
>     def output_rpn_equation_code(self, set, counter, equation):
>diff --git a/lib/xe/oa-configs/oa-equations-codegen.py b/lib/xe/oa-configs/oa-equations-codegen.py
>index a4a00f46d9..de5a3337df 100644
>--- a/lib/xe/oa-configs/oa-equations-codegen.py
>+++ b/lib/xe/oa-configs/oa-equations-codegen.py
>@@ -46,9 +46,9 @@ def output_counter_read(gen, set, counter):
>     read_eq = counter.get('equation')
>
>     c(ret_ctype)
>-    c(counter.read_sym + "(const struct intel_perf *perf,\n")
>+    c(counter.read_sym + "(const struct intel_xe_perf *perf,\n")
>     c.indent(len(counter.read_sym) + 1)
>-    c("const struct intel_perf_metric_set *metric_set,\n")
>+    c("const struct intel_xe_perf_metric_set *metric_set,\n")
>     c("uint64_t *accumulator)\n")
>     c.outdent(len(counter.read_sym) + 1)
>
>@@ -75,9 +75,9 @@ def output_counter_read_definition(gen, set, counter):
>         read_eq = counter.get('equation')
>
>         h(ret_ctype)
>-        h(counter.read_sym + "(const struct intel_perf *perf,\n")
>+        h(counter.read_sym + "(const struct intel_xe_perf *perf,\n")
>         h.indent(len(counter.read_sym) + 1)
>-        h("const struct intel_perf_metric_set *metric_set,\n")
>+        h("const struct intel_xe_perf_metric_set *metric_set,\n")
>         h("uint64_t *accumulator);\n")
>         h.outdent(len(counter.read_sym) + 1)
>
>@@ -100,9 +100,9 @@ def output_counter_max(gen, set, counter):
>     ret_ctype = data_type_to_ctype(ret_type)
>
>     c(ret_ctype)
>-    c(counter.max_sym + "(const struct intel_perf *perf,\n")
>+    c(counter.max_sym + "(const struct intel_xe_perf *perf,\n")
>     c.indent(len(counter.max_sym) + 1)
>-    c("const struct intel_perf_metric_set *metric_set,\n")
>+    c("const struct intel_xe_perf_metric_set *metric_set,\n")
>     c("uint64_t *accumulator)\n")
>     c.outdent(len(counter.max_sym) + 1)
>
>@@ -135,9 +135,9 @@ def output_counter_max_definition(gen, set, counter):
>
>         h(ret_ctype)
>
>-        h(counter.max_sym + "(const struct intel_perf *perf,")
>+        h(counter.max_sym + "(const struct intel_xe_perf *perf,")
>         h.indent(len(counter.max_sym) + 1)
>-        h("const struct intel_perf_metric_set *metric_set,")
>+        h("const struct intel_xe_perf_metric_set *metric_set,")
>         h("uint64_t *accumulator);")
>         h.outdent(len(counter.max_sym) + 1)
>         h("\n")
>@@ -163,16 +163,16 @@ def generate_equations(args, gens):
>         #define MAX(a, b) (((a) > (b)) ? (a) : (b))
>
>         double
>-        percentage_max_callback_float(const struct intel_perf *perf,
>-                                      const struct intel_perf_metric_set *metric_set,
>+        percentage_max_callback_float(const struct intel_xe_perf *perf,
>+                                      const struct intel_xe_perf_metric_set *metric_set,
>                                       uint64_t *accumulator)
>         {
>            return 100;
>         }
>
>         uint64_t
>-        percentage_max_callback_uint64(const struct intel_perf *perf,
>-                                       const struct intel_perf_metric_set *metric_set,
>+        percentage_max_callback_uint64(const struct intel_xe_perf *perf,
>+                                       const struct intel_xe_perf_metric_set *metric_set,
>                                        uint64_t *accumulator)
>         {
>            return 100;
>@@ -196,16 +196,16 @@ def generate_equations(args, gens):
>         #include <stdint.h>
>         #include <stdbool.h>
>
>-        struct intel_perf;
>-        struct intel_perf_metric_set;
>+        struct intel_xe_perf;
>+        struct intel_xe_perf_metric_set;
>
>         double
>-        percentage_max_callback_float(const struct intel_perf *perf,
>-                                      const struct intel_perf_metric_set *metric_set,
>+        percentage_max_callback_float(const struct intel_xe_perf *perf,
>+                                      const struct intel_xe_perf_metric_set *metric_set,
>                                       uint64_t *accumulator);
>         uint64_t
>-        percentage_max_callback_uint64(const struct intel_perf *perf,
>-                                       const struct intel_perf_metric_set *metric_set,
>+        percentage_max_callback_uint64(const struct intel_xe_perf *perf,
>+                                       const struct intel_xe_perf_metric_set *metric_set,
>                                        uint64_t *accumulator);
>
>         """ % (header_define, header_define)))
>diff --git a/lib/xe/oa-configs/oa-metricset-codegen.py b/lib/xe/oa-configs/oa-metricset-codegen.py
>index ea0d13cc97..f4a008d690 100644
>--- a/lib/xe/oa-configs/oa-metricset-codegen.py
>+++ b/lib/xe/oa-configs/oa-metricset-codegen.py
>@@ -28,7 +28,7 @@ def availability_func_name(set, counter):
> def output_availability_funcs(set, counter):
>     availability = counter.get('availability')
>     if availability:
>-        c("static bool " + availability_func_name(set, counter) + "(const struct intel_perf *perf) {")
>+        c("static bool " + availability_func_name(set, counter) + "(const struct intel_xe_perf *perf) {")
>         c.indent(4)
>         set.gen.output_availability(set, availability, counter.get('name'))
>         c.indent(4)
>@@ -60,9 +60,9 @@ def output_counter_report(set, counter):
>     c(".name = \"{0}\",\n".format(counter.get('name')))
>     c(".symbol_name = \"{0}\",\n".format(counter.get('symbol_name')))
>     c(".desc = \"{0}\",\n".format(counter.get('description')))
>-    c(".type = INTEL_PERF_LOGICAL_COUNTER_TYPE_{0},\n".format(semantic_type_uc))
>-    c(".storage = INTEL_PERF_LOGICAL_COUNTER_STORAGE_{0},\n".format(data_type_uc))
>-    c(".unit = INTEL_PERF_LOGICAL_COUNTER_UNIT_{0},\n".format(output_units(counter.get('units'))))
>+    c(".type = INTEL_XE_PERF_LOGICAL_COUNTER_TYPE_{0},\n".format(semantic_type_uc))
>+    c(".storage = INTEL_XE_PERF_LOGICAL_COUNTER_STORAGE_{0},\n".format(data_type_uc))
>+    c(".unit = INTEL_XE_PERF_LOGICAL_COUNTER_UNIT_{0},\n".format(output_units(counter.get('units'))))
>     c(".read_{0} = {1},\n".format(data_type, set.read_funcs["$" + counter.get('symbol_name')]))
>     c(".max_{0} = {1},\n".format(data_type, set.max_funcs["$" + counter.get('symbol_name')]))
>     c(".group = \"{0}\",\n".format(counter.get('mdapi_group')))
>@@ -98,18 +98,18 @@ def generate_metric_sets(args, gen):
>           output_availability_funcs(set, counter)
>
>         c("\nstatic void\n")
>-        c(gen.chipset + "_add_" + set.underscore_name + "_metric_set(struct intel_perf *perf)")
>+        c(gen.chipset + "_add_" + set.underscore_name + "_metric_set(struct intel_xe_perf *perf)")
>         c("{\n")
>         c.indent(4)
>
>-        c("struct intel_perf_metric_set *metric_set;\n")
>-        c("struct intel_perf_logical_counter *counter;\n\n")
>+        c("struct intel_xe_perf_metric_set *metric_set;\n")
>+        c("struct intel_xe_perf_logical_counter *counter;\n\n")
>
>         c("metric_set = calloc(1, sizeof(*metric_set));\n")
>         c("metric_set->name = \"" + set.name + "\";\n")
>         c("metric_set->symbol_name = \"" + set.symbol_name + "\";\n")
>         c("metric_set->hw_config_guid = \"" + set.hw_config_guid + "\";\n")
>-        c("metric_set->counters = calloc({0}, sizeof(struct intel_perf_logical_counter));\n".format(str(len(counters))))
>+        c("metric_set->counters = calloc({0}, sizeof(struct intel_xe_perf_logical_counter));\n".format(str(len(counters))))
>         c("metric_set->n_counters = 0;\n")
>         c("metric_set->perf_oa_metrics_set = 0; // determined at runtime\n")
>
>@@ -167,12 +167,12 @@ def generate_metric_sets(args, gen):
>
>         c("%s_%s_add_registers(perf, metric_set);" % (gen.chipset, set.underscore_name))
>
>-        c("intel_perf_add_metric_set(perf, metric_set);");
>+        c("intel_xe_perf_add_metric_set(perf, metric_set);");
>         c("\n")
>
>         c("{")
>         c.indent(4)
>-        c("static const struct intel_perf_logical_counter _counters[] = {")
>+        c("static const struct intel_xe_perf_logical_counter _counters[] = {")
>         c.indent(4)
>
>         for counter in counters:
>@@ -190,7 +190,7 @@ def generate_metric_sets(args, gen):
>         c("counter = &metric_set->counters[metric_set->n_counters++];")
>         c("*counter = _counters[i];")
>         c("counter->metric_set = metric_set;")
>-        c("intel_perf_add_logical_counter(perf, counter, counter->group);")
>+        c("intel_xe_perf_add_logical_counter(perf, counter, counter->group);")
>         c.outdent(4)
>         c("}")
>         c.outdent(4)
>@@ -201,7 +201,7 @@ def generate_metric_sets(args, gen):
>         c("}\n")
>
>     c("\nvoid")
>-    c("intel_perf_load_metrics_" + gen.chipset + "(struct intel_perf *perf)")
>+    c("intel_xe_perf_load_metrics_" + gen.chipset + "(struct intel_xe_perf *perf)")
>     c("{")
>     c.indent(4)
>
>@@ -256,7 +256,7 @@ def main():
>         """ % (header_define, header_define)))
>
>     # Print out all set registration functions for each generation.
>-    h("void intel_perf_load_metrics_" + gen.chipset + "(struct intel_perf *perf);\n\n")
>+    h("void intel_xe_perf_load_metrics_" + gen.chipset + "(struct intel_xe_perf *perf);\n\n")
>
>     h(textwrap.dedent("""\
>         #endif /* %s */
>diff --git a/lib/xe/oa-configs/oa-registers-codegen.py b/lib/xe/oa-configs/oa-registers-codegen.py
>index a4aa134097..08fc38a50e 100644
>--- a/lib/xe/oa-configs/oa-registers-codegen.py
>+++ b/lib/xe/oa-configs/oa-registers-codegen.py
>@@ -22,7 +22,7 @@ def generate_register_configs(set):
>         'OA': 'b_counter_regs',
>     }
>
>-    c("void %s_%s_add_registers(struct intel_perf *perf, struct intel_perf_metric_set *metric_set)" %
>+    c("void %s_%s_add_registers(struct intel_xe_perf *perf, struct intel_xe_perf_metric_set *metric_set)" %
>       (set.gen.chipset, set.underscore_name))
>     c("{")
>     c.indent(4)
>@@ -39,7 +39,7 @@ def generate_register_configs(set):
>
>         c("{")
>         c.indent(4)
>-        c("static const struct intel_perf_register_prog _%s[] = {" % t)
>+        c("static const struct intel_xe_perf_register_prog _%s[] = {" % t)
>         c.indent(4)
>         for register in register_config.findall('register'):
>             c("{ .reg = %s, .val = %s }," %
>@@ -95,11 +95,11 @@ def main():
>     h("#ifndef %s" % header_define)
>     h("#define %s" % header_define)
>     h("\n")
>-    h("struct intel_perf;")
>-    h("struct intel_perf_metric_set;")
>+    h("struct intel_xe_perf;")
>+    h("struct intel_xe_perf_metric_set;")
>     h("\n")
>     for set in gen.sets:
>-        h("void %s_%s_add_registers(struct intel_perf *perf, struct intel_perf_metric_set *metric_set);" %
>+        h("void %s_%s_add_registers(struct intel_xe_perf *perf, struct intel_xe_perf_metric_set *metric_set);" %
>           (gen.chipset, set.underscore_name))
>     h("\n")
>     h("#endif /* %s */" % header_define)
>-- 
>2.41.0
>

  reply	other threads:[~2024-06-20 23:24 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-20 20:00 [PATCH v4 i-g-t 00/28] Intel Xe OA IGT's Ashutosh Dixit
2024-06-20 20:00 ` [PATCH i-g-t 01/28] lib/xe/oa: Import OA metric generation files from i915 Ashutosh Dixit
2024-06-20 21:54   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 02/28] lib/xe/oa: Add LNL metric guids Ashutosh Dixit
2024-06-20 21:54   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 03/28] lib/xe/oa: Add OA LNL metrics (oa_lnl.xml) Ashutosh Dixit
2024-06-20 21:55   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 04/28] lib/xe/oa: Add truncated legacy Xe1 metrics XML's Ashutosh Dixit
2024-06-20 21:57   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 05/28] lib/xe/oa: Generate LNL metrics/registers files Ashutosh Dixit
2024-06-20 21:52   ` Umesh Nerlige Ramappa
2024-06-20 23:05     ` Dixit, Ashutosh
2024-06-20 20:00 ` [PATCH i-g-t 06/28] lib/xe/oa: Switch generated files to Xe namespace Ashutosh Dixit
2024-06-20 23:24   ` Umesh Nerlige Ramappa [this message]
2024-06-20 20:00 ` [PATCH i-g-t 07/28] drm-uapi/xe: Sync with Perf/OA changes Ashutosh Dixit
2024-06-20 23:24   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 08/28] lib/xe: Complete xe_oa lib functionality Ashutosh Dixit
2024-06-20 23:24   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 09/28] tests/intel/xe_query: Add OA units query test Ashutosh Dixit
2024-06-20 23:25   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 10/28] tests/intel/xe_oa: Add first tests Ashutosh Dixit
2024-06-20 23:11   ` Umesh Nerlige Ramappa
2024-06-30 22:42     ` Dixit, Ashutosh
2024-06-20 20:00 ` [PATCH i-g-t 11/28] tests/intel/xe_oa: Add some negative tests Ashutosh Dixit
2024-06-20 23:12   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 12/28] tests/intel/xe_oa: Add "oa-formats" subtest Ashutosh Dixit
2024-06-20 23:15   ` Umesh Nerlige Ramappa
2024-06-30 22:43     ` Dixit, Ashutosh
2024-06-20 20:00 ` [PATCH i-g-t 13/28] tests/intel/xe_oa: Add oa exponent tests Ashutosh Dixit
2024-06-20 23:18   ` Umesh Nerlige Ramappa
2024-06-30 22:43     ` Dixit, Ashutosh
2024-06-20 20:00 ` [PATCH i-g-t 14/28] tests/intel/xe_oa: buffer-fill, non-zero-reason, enable-disable Ashutosh Dixit
2024-06-20 23:19   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 15/28] tests/intel/xe_oa: blocking and polling tests Ashutosh Dixit
2024-06-20 23:20   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 16/28] tests/intel/xe_oa: OAR/OAC tests Ashutosh Dixit
2024-06-20 23:46   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 17/28] tests/intel/xe_oa: Exclusive/concurrent access, rc6 and stress open close Ashutosh Dixit
2024-06-20 23:37   ` Umesh Nerlige Ramappa
2024-06-30 22:43     ` Dixit, Ashutosh
2024-06-20 20:00 ` [PATCH i-g-t 18/28] tests/intel/xe_oa: add remove OA config tests Ashutosh Dixit
2024-06-20 23:38   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 19/28] tests/intel/xe_oa: OA buffer mmap tests Ashutosh Dixit
2024-06-20 23:39   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 20/28] tests/intel/xe_oa: Register whitelisting and MMIO trigger tests Ashutosh Dixit
2024-06-20 23:39   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 21/28] lib/xe/oa: Add xe_oa_data_reader to IGT lib Ashutosh Dixit
2024-06-20 23:40   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 22/28] tools/xe-perf: Add xe_perf_recorder Ashutosh Dixit
2024-06-20 23:41   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 23/28] tools/xe-perf: xe_perf_reader, xe_perf_control and xe_perf_configs Ashutosh Dixit
2024-06-20 23:41   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 24/28] xe/oa: Fix invalid escape warnings Ashutosh Dixit
2024-06-20 23:43   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 25/28] xe/oa/mdapi-xml-convert: Add support for 576B_PEC64LL format Ashutosh Dixit
2024-06-20 23:43   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 26/28] xe/oa: Regenerate oa-lnl.xml now parsing all counters Ashutosh Dixit
2024-06-20 23:43   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 27/28] xe/oa/oa-metricset-codegen: Fix XE_OA_FORMAT_PEC64u64 offsets Ashutosh Dixit
2024-06-20 23:44   ` Umesh Nerlige Ramappa
2024-06-20 20:00 ` [PATCH i-g-t 28/28] HAX: Add Xe OA tests to xe-fast-feedback.testlist Ashutosh Dixit
2024-06-20 23:45   ` Umesh Nerlige Ramappa
2024-06-30 22:43     ` Dixit, Ashutosh
2024-06-20 20:19 ` ✗ GitLab.Pipeline: warning for Intel Xe OA IGT's (rev4) Patchwork
2024-06-20 20:36 ` ✓ CI.xeBAT: success " Patchwork
2024-06-20 20:43 ` ✓ Fi.CI.BAT: " Patchwork
2024-06-20 23:01 ` ✗ CI.xeFULL: failure " Patchwork
2024-06-21  5:51 ` ✗ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZnS6Eekqq3RzLWFH@orsosgc001 \
    --to=umesh.nerlige.ramappa@intel.com \
    --cc=ashutosh.dixit@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox