[Intel-gfx] [PATCH v5 01/10] drm/i915/perf: add missing delay for OA muxes configuration
Chris Wilson
chris at chris-wilson.co.uk
Thu Jun 27 08:07:39 UTC 2019
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
More information about the Intel-gfx
mailing list