Re: [Intel-gfx] [PATCH 16/19] drm/i915/perf: Apply Wa_18013179988

Umesh Nerlige Ramappa
2022-09-16T19:05:11Z

On Fri, Sep 16, 2022 at 08:22:40AM -0700, Dixit, Ashutosh wrote:
>On Thu, 15 Sep 2022 22:16:30 -0700, Dixit, Ashutosh wrote:
>>
>> On Tue, 23 Aug 2022 13:41:52 -0700, Umesh Nerlige Ramappa wrote:
>> >
>>
>> Hi Umesh,
>>
>> > OA reports in the OA buffer contain an OA timestamp field that helps
>> > user calculate delta between 2 OA reports. The calculation relies on the
>> > CS timestamp frequency to convert the timestamp value to nanoseconds.
>> > The CS timestamp frequency is a function of the CTC_SHIFT value in
>> > RPM_CONFIG0.
>> >
>> > In DG2, OA unit assumes that the CTC_SHIFT is 3, instead of using the
>> > actual value from RPM_CONFIG0. At the user level, this results in an
>> > error in calculating delta between 2 OA reports since the OA timestamp
>> > is not shifted in the same manner as CS timestamp.
>> >
>> > To resolve this, return actual OA timestamp frequency to the user in
>> > i915_getparam_ioctl.
>>
>> Rather than exposing actual OA timestamp frequency to userspace (with the
>> corresponding uapi change, specially if it's only DG2 and not all future
>> products) questions about a couple of other options:
>>
>> Option 1. Can we set CTC_SHIFT in RPM_CONFIG0 to 3, so change GT freq to be the
>> same as OA freq :-)
>>
>> The HSD seems to mention this:
>> Is setting CTC SHIFT to 0b11 on driver init an acceptable W/A?
>> Note: Changing the shift setting on live driver may break apps that are
>> currently running (including desktop manager).
>>
>> Option 2. Is it possible to correct the timestamps in OA report headers to
>> compensate for the difference between OA and GT frequencies (say when
>> copying OA data to userspace)?
>>
>> Though not sure if this is preferable to having userspace do this.
>
>Also do we need input from userland on this patch? UMD's might need to
>assess the impact of having different GT and OA frequencies at their end
>since they consume OA data?

Lionel is aware of the change and I believe he has some patches to
consume this API for the GPUvis support, but we need an Ack from
Joonas/maintainer to merge any uapi changes. I will add them to the next
revision.

Thanks,
Umesh

>
>Thanks.
>--
>Ashutosh