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>
Subject: Re: [igt-dev] [PATCH i-g-t 21/23] lib/i915/perf: fixup conversion script for XEHPSDV
Date: Tue, 20 Sep 2022 13:03:55 -0700	[thread overview]
Message-ID: <Yyocq6+2XDP8L5Fy@unerlige-ril> (raw)
In-Reply-To: <20220823183036.5270-22-umesh.nerlige.ramappa@intel.com>

On Tue, Aug 23, 2022 at 06:30:34PM +0000, Umesh Nerlige Ramappa wrote:
>From: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>
>Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Umesh
>---
> lib/i915/perf-configs/mdapi-xml-convert.py | 56 ++++++++++++++++++----
> 1 file changed, 48 insertions(+), 8 deletions(-)
>
>diff --git a/lib/i915/perf-configs/mdapi-xml-convert.py b/lib/i915/perf-configs/mdapi-xml-convert.py
>index d26ff623..f27d6657 100755
>--- a/lib/i915/perf-configs/mdapi-xml-convert.py
>+++ b/lib/i915/perf-configs/mdapi-xml-convert.py
>@@ -62,6 +62,24 @@ gen8_11_chipset_params = {
>     'config_reg_blacklist': {
>         0x2364, # OACTXID
>     },
>+    'register_offsets': {
>+        0x1f0: 'PERFCNT 0',
>+        0x1f8: 'PERFCNT 1',
>+    }
>+}
>+
>+xehpsdv_chipset_params = {
>+    'a_offset': 16,
>+    'b_offset': 192,
>+    'c_offset': 224,
>+    'oa_report_size': 256,
>+    'config_reg_blacklist': {
>+        0x2364, # OACTXID
>+    },
>+    'register_offsets': {
>+        0x1b0: 'PERFCNT 0',
>+        0x1b8: 'PERFCNT 1',
>+    }
> }
>
> chipsets = {
>@@ -161,14 +179,9 @@ def underscore(name):
> def print_err(*args):
>     sys.stderr.write(' '.join(map(str,args)) + '\n')
>
>-read_register_offsets = {
>-    0x1f0: 'PERFCNT 0',
>-    0x1f8: 'PERFCNT 1',
>-}
>-
> def read_value(chipset, offset):
>-    if offset in read_register_offsets:
>-        return read_register_offsets[offset]
>+    if offset in chipsets[chipset]['register_offsets']:
>+        return chipsets[chipset]['register_offsets'][offset]
>     print_err("Unknown offset register at offset {0}".format(offset))
>     assert 0
>
>@@ -185,6 +198,7 @@ def read_token_to_rpn_read(chipset, token, raw_offsets):
>     offset = int(offset_str, 16)
>
>     if raw_offsets:
>+        # Location in the HW reports
>         a_offset = chipsets[chipset]['a_offset']
>         b_offset = chipsets[chipset]['b_offset']
>         c_offset = chipsets[chipset]['c_offset']
>@@ -199,7 +213,15 @@ def read_token_to_rpn_read(chipset, token, raw_offsets):
>             else:
>                 assert 0
>         elif offset < b_offset:
>-            return "A " + str(int((offset - a_offset) / 4)) + " READ"
>+            a_cnt_offset = int((offset - a_offset) / 4)
>+            if chipset == "XEHPSDV":
>+                # Most A counters are in a contiguous array, except
>+                # this A37.
>+                if a_cnt_offset == 42:
>+                    return "A 37 READ"
>+                return "A " + str(a_cnt_offset) + " READ"
>+            else:
>+                return "A " + str(a_cnt_offset) + " READ"
>         elif offset < c_offset:
>             return "B " + str(int((offset - b_offset) / 4)) + " READ"
>         elif offset < report_size:
>@@ -207,6 +229,7 @@ def read_token_to_rpn_read(chipset, token, raw_offsets):
>         else:
>             return "{0} READ".format(read_value(chipset, offset))
>     else:
>+        # Location in the accumulated deltas
>         idx = int(offset / 8)
>         if chipset == "HSW":
>             # On Haswell accumulated counters are assumed to start
>@@ -222,6 +245,23 @@ def read_token_to_rpn_read(chipset, token, raw_offsets):
>                 return "C " + str(idx - 54) + " READ"
>             else:
>                 return "{0} READ".format(read_value(chipset, offset))
>+        elif chipset == "XEHPSDV":
>+            # For XEHPSDV the array of accumulated counters is
>+            # assumed to start with a GPU_TIME then GPU_CLOCK,
>+            # then 38 A counters, then 8 B counters and finally
>+            # 8 C counters.
>+            if idx == 0:
>+                return "GPU_TIME 0 READ"
>+            elif idx == 1:
>+                return "GPU_CLOCK 0 READ"
>+            elif idx < 40:
>+                return "A " + str(idx - 2) + " READ"
>+            elif idx < 48:
>+                return "B " + str(idx - 40) + " READ"
>+            elif idx < 56:
>+                return "C " + str(idx - 48) + " READ"
>+            else:
>+                return "{0} READ".format(read_value(chipset, offset))
>         else:
>             # For Gen8+ the array of accumulated counters is
>             # assumed to start with a GPU_TIME then GPU_CLOCK,
>-- 
>2.25.1
>

  reply	other threads:[~2022-09-20 20:04 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-23 18:30 [igt-dev] [PATCH i-g-t 00/23] Add DG2 OA test Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 01/23] i915/perf: Check regularly if we are done reading reports Umesh Nerlige Ramappa
2022-09-06 12:49   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 02/23] i915/perf: Fix OA short_reads test Umesh Nerlige Ramappa
2022-09-06 12:50   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 03/23] i915/perf: Check return value from getparam Umesh Nerlige Ramappa
2022-09-06 12:52   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 04/23] i915/perf: Limit sseu-config tests for gen11 Umesh Nerlige Ramappa
2022-09-06 12:53   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 05/23] i915/perf: Bump timestamp tolerance for DG1 Umesh Nerlige Ramappa
2022-09-06 13:06   ` Lionel Landwerlin
2022-09-06 19:30     ` Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 06/23] i915/perf: Account for OA sampling interval in polling test Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 07/23] i915/perf: Add support for 64-bit counters Umesh Nerlige Ramappa
2022-09-06 13:05   ` Lionel Landwerlin
2022-09-06 19:37     ` Umesh Nerlige Ramappa
2022-09-06 20:02       ` Lionel Landwerlin
2022-09-06 20:58         ` Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 08/23] i915/perf: Define OA report types Umesh Nerlige Ramappa
2022-09-06 13:08   ` Lionel Landwerlin
2022-09-06 19:28     ` Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 09/23] i915/perf: Use ARRAY_SIZE consistently for num_properties Umesh Nerlige Ramappa
2022-09-06 13:10   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 10/23] i915/perf: Use gt in perf tests and lib Umesh Nerlige Ramappa
2022-09-06 13:13   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 11/23] i915/perf: Explicitly state rendercopy needs for a test Umesh Nerlige Ramappa
2022-09-06 13:26   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 12/23] i915/perf: Skip tests that use rendercopy Umesh Nerlige Ramappa
2022-09-06 13:28   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 13/23] i915/perf: Add OA formats for DG2 Umesh Nerlige Ramappa
2022-09-06 13:30   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 14/23] i915/perf: Add a test for non-power-of-2 oa reports Umesh Nerlige Ramappa
2022-09-06 14:08   ` Lionel Landwerlin
2022-09-20 19:28     ` Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 15/23] i915/perf: Fix CS timestamp vs OA timstamp mismatch Umesh Nerlige Ramappa
2022-09-06 13:36   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 16/23] i915/perf: Treat ticks as 64 bit Umesh Nerlige Ramappa
2022-09-06 14:08   ` Lionel Landwerlin
2022-09-06 18:56     ` Umesh Nerlige Ramappa
2022-09-06 19:06       ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 17/23] i915/perf: Treat timestamp as 64 bit value Umesh Nerlige Ramappa
2022-09-06 14:16   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 18/23] i915/perf: Fix DG2 A0 report header Umesh Nerlige Ramappa
2022-09-06 14:17   ` Lionel Landwerlin
2022-09-06 18:37     ` Umesh Nerlige Ramappa
2022-09-06 18:54       ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 19/23] i915/perf: Wait longer for rc6 residency in DG2 Umesh Nerlige Ramappa
2022-09-06 14:18   ` Lionel Landwerlin
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 20/23] lib/i915/perf: implement report accumulation for new format Umesh Nerlige Ramappa
2022-09-06 14:21   ` Lionel Landwerlin
2022-09-20 20:02   ` Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 21/23] lib/i915/perf: fixup conversion script for XEHPSDV Umesh Nerlige Ramappa
2022-09-20 20:03   ` Umesh Nerlige Ramappa [this message]
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 22/23] lib/i915/perf: make warning message more helpful Umesh Nerlige Ramappa
2022-09-20 20:04   ` Umesh Nerlige Ramappa
2022-08-23 18:30 ` [igt-dev] [PATCH i-g-t 23/23] lib/i915/perf: Add DG2 metrics Umesh Nerlige Ramappa
2022-09-20 23:11   ` Umesh Nerlige Ramappa
2022-08-23 20:30 ` [igt-dev] [PATCH i-g-t 18/23] i915/perf: Fix DG2 A0 report header Umesh Nerlige Ramappa
2022-09-06 14:23   ` Lionel Landwerlin
2022-09-06 18:33     ` Umesh Nerlige Ramappa
2022-08-23 21:00 ` [igt-dev] ✗ Fi.CI.BUILD: failure for Add DG2 OA test Patchwork
2022-08-24  9:33 ` [igt-dev] ✗ Fi.CI.BUILD: failure for Add DG2 OA test (rev2) Patchwork
2022-08-24  9:58   ` Petri Latvala
2022-08-24 13:08 ` [igt-dev] ✓ Fi.CI.BAT: success for Add DG2 OA test (rev3) Patchwork
2022-08-25 20:33 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2022-08-22 23:56 [igt-dev] [PATCH i-g-t 00/23] Add DG2 OA test Umesh Nerlige Ramappa
2022-08-22 23:56 ` [igt-dev] [PATCH i-g-t 21/23] lib/i915/perf: fixup conversion script for XEHPSDV Umesh Nerlige Ramappa

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=Yyocq6+2XDP8L5Fy@unerlige-ril \
    --to=umesh.nerlige.ramappa@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