Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
To: igt-dev@lists.freedesktop.org,
	Ashutosh Dixit <ashutosh.dixit@intel.com>,
	kamil.konieczny@linux.intel.com
Cc: Lionel G Landwerlin <lionel.g.landwerlin@linux.intel.com>
Subject: [igt-dev] [PATCH i-g-t v3 17/31] lib/i915/perf: Choose OAM format for media metrics
Date: Thu, 16 Mar 2023 16:33:09 -0700	[thread overview]
Message-ID: <20230316233323.2638668-18-umesh.nerlige.ramappa@intel.com> (raw)
In-Reply-To: <20230316233323.2638668-1-umesh.nerlige.ramappa@intel.com>

If the metric set has OAM format defined, update the generated metrics
accordingly.

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 lib/i915/perf-configs/codegen.py              |  4 +++
 lib/i915/perf-configs/mdapi-xml-convert.py    |  1 +
 .../perf-configs/perf-metricset-codegen.py    | 36 ++++++++++++-------
 3 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/lib/i915/perf-configs/codegen.py b/lib/i915/perf-configs/codegen.py
index 755142cc..020e76ef 100644
--- a/lib/i915/perf-configs/codegen.py
+++ b/lib/i915/perf-configs/codegen.py
@@ -117,6 +117,10 @@ class Set:
     def underscore_name(self):
         return self.xml.get('underscore_name')
 
+    @property
+    def oa_format(self):
+        return self.xml.get('oa_format')
+
     def findall(self, path):
         return self.xml.findall(path)
 
diff --git a/lib/i915/perf-configs/mdapi-xml-convert.py b/lib/i915/perf-configs/mdapi-xml-convert.py
index 5c784643..3b7d0663 100755
--- a/lib/i915/perf-configs/mdapi-xml-convert.py
+++ b/lib/i915/perf-configs/mdapi-xml-convert.py
@@ -659,6 +659,7 @@ for arg in args.xml:
         set.set('symbol_name', set_symbol_name)
         set.set('underscore_name', underscore(mdapi_set.get('SymbolName')))
         set.set('mdapi_supported_apis', strip_dx_apis(mdapi_set.get('SupportedAPI')))
+        set.set('oa_format', oa_format)
 
 
         # Look at the hardware register config before looking at the counters.
diff --git a/lib/i915/perf-configs/perf-metricset-codegen.py b/lib/i915/perf-configs/perf-metricset-codegen.py
index 08351309..8b2c5d7b 100644
--- a/lib/i915/perf-configs/perf-metricset-codegen.py
+++ b/lib/i915/perf-configs/perf-metricset-codegen.py
@@ -128,18 +128,30 @@ def generate_metric_sets(args, gen):
 
             """))
         elif gen.chipset.startswith("acm") or gen.chipset.startswith("mtl"):
-            c(textwrap.dedent("""\
-                metric_set->perf_oa_format = I915_OA_FORMAT_A24u40_A14u32_B8_C8;
-
-                metric_set->perf_raw_size = 256;
-                metric_set->gpu_time_offset = 0;
-                metric_set->gpu_clock_offset = 1;
-                metric_set->a_offset = 2;
-                metric_set->b_offset = metric_set->a_offset + 38;
-                metric_set->c_offset = metric_set->b_offset + 8;
-                metric_set->perfcnt_offset = metric_set->c_offset + 8;
-
-            """))
+            if set.oa_format == "128B_MPEC8_NOA16":
+                c(textwrap.dedent("""\
+                    metric_set->perf_oa_format = I915_OAM_FORMAT_MPEC8u32_B8_C8;
+
+                    metric_set->perf_raw_size = 128;
+                    metric_set->gpu_time_offset = 0;
+                    metric_set->gpu_clock_offset = 1;
+                    metric_set->a_offset = 2;
+                    metric_set->b_offset = metric_set->a_offset + 8;
+                    metric_set->c_offset = metric_set->b_offset + 8;
+                    metric_set->perfcnt_offset = metric_set->c_offset + 8;
+                """))
+            else:
+                c(textwrap.dedent("""\
+                    metric_set->perf_oa_format = I915_OA_FORMAT_A24u40_A14u32_B8_C8;
+
+                    metric_set->perf_raw_size = 256;
+                    metric_set->gpu_time_offset = 0;
+                    metric_set->gpu_clock_offset = 1;
+                    metric_set->a_offset = 2;
+                    metric_set->b_offset = metric_set->a_offset + 38;
+                    metric_set->c_offset = metric_set->b_offset + 8;
+                    metric_set->perfcnt_offset = metric_set->c_offset + 8;
+                """))
         else:
             c(textwrap.dedent("""\
                 metric_set->perf_oa_format = I915_OA_FORMAT_A32u40_A4u32_B8_C8;
-- 
2.36.1

  parent reply	other threads:[~2023-03-16 23:33 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-16 23:32 [igt-dev] [PATCH i-g-t v3 00/31] Enable OAM support in IGT and GPUvis Umesh Nerlige Ramappa
2023-03-16 23:32 ` [igt-dev] [PATCH i-g-t v3 01/31] i915/perf: Add support for 64-bit OA formats Umesh Nerlige Ramappa
2023-03-16 23:32 ` [igt-dev] [PATCH i-g-t v3 02/31] i915/perf: Define a default engine for OA Umesh Nerlige Ramappa
2023-03-16 23:32 ` [igt-dev] [PATCH i-g-t v3 03/31] i915/perf: Use default engine for sseu tests Umesh Nerlige Ramappa
2023-03-16 23:32 ` [igt-dev] [PATCH i-g-t v3 04/31] i915/perf: Ensure rcs0 is present for gen12-mi-rpc Umesh Nerlige Ramappa
2023-03-16 23:32 ` [igt-dev] [PATCH i-g-t v3 05/31] i915/perf: Use ARRAY_SIZE for buffer-fill test Umesh Nerlige Ramappa
2023-03-16 23:32 ` [igt-dev] [PATCH i-g-t v3 06/31] i915/perf: Add class:instance support to OA tests Umesh Nerlige Ramappa
2023-03-16 23:32 ` [igt-dev] [PATCH i-g-t v3 07/31] i915/perf: Enable tests to run on specific engines Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 08/31] i915/perf: Treat ticks as 64 bit Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 09/31] i915/perf: Treat timestamp as 64 bit value Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 10/31] i915/perf: Add OAM format type Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 11/31] i915/perf: Move OA format array from stack to heap Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 12/31] i915/perf: Use a helper for OA format Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 13/31] i915/perf: Add support for oa perf groups Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 14/31] i915/perf: Test concurrent access to OA in different groups Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 15/31] i915/perf: Add OAM support Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 16/31] lib/i915/perf: Prepare to read different OA formats Umesh Nerlige Ramappa
2023-03-16 23:33 ` Umesh Nerlige Ramappa [this message]
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 18/31] lib/i915/perf: Set missing metric unit for some counters Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 19/31] lib/i915/perf: Add MTL to supported HW in OA guid registry Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 20/31] lib/i915/perf: Add support for OAM format in codegen Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 21/31] lib/i915/perf: Update MTL GT2 metrics Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 22/31] lib/i915/perf: Update MTL GT3 metrics Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 23/31] i915/perf: Add support for engine specific metrics Umesh Nerlige Ramappa
2023-03-21 22:44   ` Dixit, Ashutosh
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 24/31] i915/perf: Run non-zero-reason on media engines as well Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 25/31] i915/perf: Make sanity check failures descriptive Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 26/31] lib/i915/perf: Enable multi-tile support for perf library Umesh Nerlige Ramappa
2023-03-22  4:59   ` Dixit, Ashutosh
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 27/31] lib/i915/perf: Update MTL OA timestamp and EU thread config Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 28/31] lib/i915/perf: Add support for MPEC format Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 29/31] lib/i915/perf: Adjust the GPU timestamp for new OA formats Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 30/31] tools/perf: Choose the right card Umesh Nerlige Ramappa
2023-03-16 23:33 ` [igt-dev] [PATCH i-g-t v3 31/31] lib/i915/perf: Apply shift to raw timestamp as well Umesh Nerlige Ramappa
2023-03-17  0:33 ` [igt-dev] ✓ Fi.CI.BAT: success for Enable OAM support in IGT and GPUvis (rev3) Patchwork
2023-03-17  4:03 ` [igt-dev] ✓ 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=20230316233323.2638668-18-umesh.nerlige.ramappa@intel.com \
    --to=umesh.nerlige.ramappa@intel.com \
    --cc=ashutosh.dixit@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=lionel.g.landwerlin@linux.intel.com \
    /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