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
>
next prev parent 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