summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/xe/xe_oa.h
diff options
context:
space:
mode:
authorAshutosh Dixit <ashutosh.dixit@intel.com>2024-06-18 03:45:57 +0200
committerAshutosh Dixit <ashutosh.dixit@intel.com>2024-06-18 21:40:31 +0200
commitcdf02fe1a94a768cbcd20f5c4e1a1d805f4a06c0 (patch)
tree093d93466b8315f07dd07dde5b53bbad6432a154 /drivers/gpu/drm/xe/xe_oa.h
parentdrm/xe/oa/uapi: Initialize OA units (diff)
downloadlinux-cdf02fe1a94a768cbcd20f5c4e1a1d805f4a06c0.tar.xz
linux-cdf02fe1a94a768cbcd20f5c4e1a1d805f4a06c0.zip
drm/xe/oa/uapi: Add/remove OA config perf ops
Introduce add/remove config perf ops for OA. OA configurations consist of a set of event/counter select register address/value pairs. The add_config perf op validates and stores such configurations and also exposes them in the metrics sysfs. These configurations will be programmed to OA unit HW when an OA stream using a configuration is opened. The OA stream can also switch to other stored configurations. v2: Start config id's from 1 and other minor review comments (Umesh) v3: Add 32 bit build v4: Add kernel doc for non-static functions (Michal) Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Acked-by: José Roberto de Souza <jose.souza@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240618014609.3233427-6-ashutosh.dixit@intel.com
Diffstat (limited to 'drivers/gpu/drm/xe/xe_oa.h')
-rw-r--r--drivers/gpu/drm/xe/xe_oa.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_oa.h b/drivers/gpu/drm/xe/xe_oa.h
index 2647c1947746..5ccc772e047a 100644
--- a/drivers/gpu/drm/xe/xe_oa.h
+++ b/drivers/gpu/drm/xe/xe_oa.h
@@ -8,9 +8,15 @@
#include "xe_oa_types.h"
+struct drm_device;
+struct drm_file;
struct xe_device;
int xe_oa_init(struct xe_device *xe);
void xe_oa_fini(struct xe_device *xe);
+void xe_oa_register(struct xe_device *xe);
+void xe_oa_unregister(struct xe_device *xe);
+int xe_oa_add_config_ioctl(struct drm_device *dev, u64 data, struct drm_file *file);
+int xe_oa_remove_config_ioctl(struct drm_device *dev, u64 data, struct drm_file *file);
#endif