From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> We have a nice error message displayed when an user with insufficient permissions tries to run the tool, but that got lost while Meteorlake support was added. Bring it back in. v2: * Propagate unexpected errno on multi-tile systems too. (Umesh) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@xxxxxxxxx> --- tools/intel_gpu_top.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c index 87e9681e53b4..10601e66b18e 100644 --- a/tools/intel_gpu_top.c +++ b/tools/intel_gpu_top.c @@ -554,9 +554,9 @@ static int get_num_gts(uint64_t type) close(fd); } - assert(!errno || errno == ENOENT); - assert(cnt > 0); - errno = 0; + + if (!cnt || (errno && errno != ENOENT)) + cnt = -errno; return cnt; } @@ -590,6 +590,8 @@ static int pmu_init(struct engines *engines) engines->fd = -1; engines->num_counters = 0; engines->num_gts = get_num_gts(type); + if (engines->num_gts <= 0) + return -1; engines->irq.config = I915_PMU_INTERRUPTS; fd = _open_pmu(type, engines->num_counters, &engines->irq, engines->fd); -- 2.39.2