From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E853DC25B74 for ; Fri, 10 May 2024 19:22:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 96E5310E7B2; Fri, 10 May 2024 19:22:50 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=collabora.com header.i=@collabora.com header.b="dTy4J8u0"; dkim-atps=neutral Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [46.235.227.194]) by gabe.freedesktop.org (Postfix) with ESMTPS id EDBFA10E67C for ; Fri, 10 May 2024 19:22:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1715368968; bh=34iPmHg7e3CvF7AgI6vpybEjnQcuqRgFyfvSkmtGhEg=; h=From:To:Cc:Subject:Date:From; b=dTy4J8u08G8oyK14eeKTsER/sHFkf8/xNA7fnUNCVeJzDPGafb2KYYWwyc2dDRzew SeXK8gGu0i7nrD8buAd8YM2hmlWMV8oLaXKzcYH7JFIqxA9ObnNvQlf4WClKvEzQYy cicey0iS/NnNcfvG2iiVj80EFJdfQ9ktAqgOghWT0HoFKEupFixaI1tAJu70xEUFUt GQ0SwaNXxjyprAkuHM3idbQE5rcu1OII8OtlI6EMf4ZxFbCy4+Ld0Jpbi1lfizowbp SJPGOHisnsNfF9Vlqwzup1c6WpzR4hKhpaU5ugSmNaOWqGhsAVciWzFJK2voRX0GNu Gxz0M1kdDGtYg== Received: from localhost.localdomain (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: alarumbe) by madrid.collaboradmins.com (Postfix) with ESMTPSA id 1515A378218E; Fri, 10 May 2024 19:22:48 +0000 (UTC) From: =?UTF-8?q?Adri=C3=A1n=20Larumbe?= To: tursulin@ursulin.net, robdclark@chromium.org, kamil.konieczny@linux.intel.com, lucas.demarchi@intel.com, igt-dev@lists.freedesktop.org Cc: healych@amazon.com, adrian.larumbe@collabora.com, kernel@collabora.com Subject: [PATCH v3 0/2] Add gputop support for sysfs profiling knob Date: Fri, 10 May 2024 20:22:36 +0100 Message-ID: <20240510192243.285457-1-adrian.larumbe@collabora.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" Some GPUs like Panfrost need a sysfs file to be toggled before the HW can initiate the job accounting necessary to feed fdinfo with engine and cycle data. This sysfs knob has to be disabled when the profiler is done, to save power. Changelog: v3: - Created separate lib_igt_profiling to avoid dynamic linking of gputop with igt_lib, which also meant isolating the functions therein from the rest of igt_lib. - Make gputop check the sysfs knob state at the end of every period in case other instances of itself or other profilers might have changed it, so that the knob can be returned to its original state. v2: - Added header file guards around igt_profiling.h - Modified licensing information to comply with SPDX format - Sorted included header files in alphabetic order - Added volatile qualifier to gputop stop variable Adrián Larumbe (2): lib: Add DRM driver sysfs profiling knob toggling functions tools/gputop: toggle sysfs profiling knob if available for device lib/igt_profiling.c | 141 ++++++++++++++++++++++++++++++++++++++++++++ lib/igt_profiling.h | 21 +++++++ lib/meson.build | 8 +++ tools/gputop.c | 33 ++++++++++- tools/meson.build | 2 +- 5 files changed, 203 insertions(+), 2 deletions(-) create mode 100644 lib/igt_profiling.c create mode 100644 lib/igt_profiling.h base-commit: 4a5fd4e7cb2798636f6464e2bd61399f3242b322 -- 2.44.0