[igt-dev] [PATCH i-g-t] i915/perf: Skip OA testing on systems too old

Lionel Landwerlin lionel.g.landwerlin at intel.com
Mon Dec 16 10:41:40 UTC 2019


On 16/12/2019 12:27, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2019-12-16 10:06:53)
>> On 16/12/2019 11:56, Chris Wilson wrote:
>>
>>      Quoting Lionel Landwerlin (2019-12-16 09:46:56)
>>
>>          On 16/12/2019 11:34, Chris Wilson wrote:
>>
>>              Don't flat out fail if the system doesn't support OA, just skip.
>>
>>              Closes: https://gitlab.freedesktop.org/drm/intel/issues/834
>>              Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>>              ---
>>                tests/perf.c | 4 +---
>>                1 file changed, 1 insertion(+), 3 deletions(-)
>>
>>              diff --git a/tests/perf.c b/tests/perf.c
>>              index f5dd6051e..12f552743 100644
>>              --- a/tests/perf.c
>>              +++ b/tests/perf.c
>>              @@ -884,11 +884,9 @@ init_sys_info(void)
>>                    const char *test_set_uuid = NULL;
>>                    char buf[256];
>>
>>              -     igt_assert_neq(devid, 0);
>>              -
>>                    timestamp_frequency = get_cs_timestamp_frequency();
>>                    igt_debug("timestamp_frequency = %lu\n", timestamp_frequency);
>>              -     igt_assert_neq(timestamp_frequency, 0);
>>              +     igt_require(timestamp_frequency);
>>
>>
>>          This requires a kernel version more recent (4.16) than when perf support
>>          was added (4.13).
>>
>>          Is this what you intended?
>>
>>      You have a fatal assert there. I am just changing it so that it skips
>>      when not supported as no testing is being performed.
>>      -Chris
>>
>> I think there might be a problem in i915 if this returns 0.
> It should return 0 for gen3 before Pineview.
>
> However, since it returns i915->rawclk_freq on pnv and g4x, it should
> have a value except that i915->cs_timestamp_freq is set in
> intel_device_info_runtime_init (i915_driver_hw_probe) before the
> rawclk_freq is set (i915_driver_modeset_probe).
>
> Not sure the best approach to straighten out that mess... Just delaying
> setting cs_timestamp_freq to i915_driver_register seems to be the best
> idea.
> -Chris

That's what I remember reading from old specs (cs timestamp = a factor 
of rawclk).

So I was expecting to always get a value.


Can we call intel_update_rawclk() in read_timestamp_frequency() just for 
the <= gen4 case?


-Lionel



More information about the igt-dev mailing list