[Intel-gfx] [PATCH v5 01/10] drm/i915/perf: add missing delay for OA muxes configuration
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Thu Jun 27 08:46:22 UTC 2019
On 27/06/2019 11:07, Chris Wilson wrote:
> Quoting Lionel Landwerlin (2019-06-27 09:00:36)
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>> Fixes: 19f81df2859eb1 ("drm/i915/perf: Add OA unit support for Gen 8+")
>> ---
>> drivers/gpu/drm/i915/i915_perf.c | 23 +++++++++++++++++++++++
>> 1 file changed, 23 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
>> index d28a5bf80bd7..909e22835e84 100644
>> --- a/drivers/gpu/drm/i915/i915_perf.c
>> +++ b/drivers/gpu/drm/i915/i915_perf.c
>> @@ -1838,6 +1838,29 @@ static int gen8_enable_metric_set(struct i915_perf_stream *stream)
>>
>> config_oa_regs(dev_priv, oa_config->mux_regs, oa_config->mux_regs_len);
>>
>> + /* It apparently takes a fairly long time for a new MUX
>> + * configuration to be be applied after these register writes.
>> + * This delay duration was derived empirically based on the
>> + * render_basic config but hopefully it covers the maximum
>> + * configuration latency.
>> + *
>> + * As a fallback, the checks in _append_oa_reports() to skip
>> + * invalid OA reports do also seem to work to discard reports
>> + * generated before this config has completed - albeit not
>> + * silently.
> If you know the initial batch of reports is invalid after changing the
> register, why not just silently discard them until you see X valid
> reports? No gratuitous sleeps required, still a magic number (albeit it
> may be a small number).
> -Chris
>
That would be nice, but unfortunately we don't really have a criteria to
tell whether the values written in the snapshots are right or wrong.
That's because the B/C counters in the snapshots are programmable.
-Lionel
More information about the Intel-gfx
mailing list