xref: /openbmc/linux/drivers/gpu/drm/i915/i915_perf.h (revision 7dc56af5260e958e36a08b2e0822029ddf765770)
1db94e9f1SJani Nikula /* SPDX-License-Identifier: MIT */
2db94e9f1SJani Nikula /*
3db94e9f1SJani Nikula  * Copyright © 2019 Intel Corporation
4db94e9f1SJani Nikula  */
5db94e9f1SJani Nikula 
6db94e9f1SJani Nikula #ifndef __I915_PERF_H__
7db94e9f1SJani Nikula #define __I915_PERF_H__
8db94e9f1SJani Nikula 
9db94e9f1SJani Nikula #include <linux/types.h>
10db94e9f1SJani Nikula 
11db94e9f1SJani Nikula struct drm_device;
12db94e9f1SJani Nikula struct drm_file;
13db94e9f1SJani Nikula struct drm_i915_private;
14db94e9f1SJani Nikula struct intel_context;
15db94e9f1SJani Nikula struct intel_engine_cs;
16db94e9f1SJani Nikula 
17db94e9f1SJani Nikula void i915_perf_init(struct drm_i915_private *i915);
18db94e9f1SJani Nikula void i915_perf_fini(struct drm_i915_private *i915);
19db94e9f1SJani Nikula void i915_perf_register(struct drm_i915_private *i915);
20db94e9f1SJani Nikula void i915_perf_unregister(struct drm_i915_private *i915);
21db94e9f1SJani Nikula 
22db94e9f1SJani Nikula int i915_perf_open_ioctl(struct drm_device *dev, void *data,
23db94e9f1SJani Nikula 			 struct drm_file *file);
24db94e9f1SJani Nikula int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
25db94e9f1SJani Nikula 			       struct drm_file *file);
26db94e9f1SJani Nikula int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
27db94e9f1SJani Nikula 				  struct drm_file *file);
28*7dc56af5SChris Wilson void i915_oa_init_reg_state(const struct intel_context *ce,
29*7dc56af5SChris Wilson 			    const struct intel_engine_cs *engine);
30db94e9f1SJani Nikula 
31db94e9f1SJani Nikula #endif /* __I915_PERF_H__ */
32