[Intel-gfx] [igt-dev] [PATCH i-g-t] i915/perf: Skip OA testing on systems too old
Chris Wilson
chris at chris-wilson.co.uk
Mon Dec 16 11:02:51 UTC 2019
Quoting Lionel Landwerlin (2019-12-16 10:41:40)
> 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?
It's only defined for g4x & pnv and later. It doesn't cover earlier
gen4/gen3/gen2, so still we have 0.
-Chris
More information about the Intel-gfx
mailing list