blob: ff412fb0dbbfb8f4a3a66a8e0b2743c9d3f2080c [file] [log] [blame]
Jani Nikuladb94e9f2019-08-08 16:42:44 +03001/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2019 Intel Corporation
4 */
5
6#ifndef __I915_PERF_H__
7#define __I915_PERF_H__
8
9#include <linux/types.h>
10
Lionel Landwerlin1d0f2eb2019-09-09 12:31:09 +030011#include "i915_perf_types.h"
12
Jani Nikuladb94e9f2019-08-08 16:42:44 +030013struct drm_device;
14struct drm_file;
15struct drm_i915_private;
16struct intel_context;
17struct intel_engine_cs;
18
19void i915_perf_init(struct drm_i915_private *i915);
20void i915_perf_fini(struct drm_i915_private *i915);
21void i915_perf_register(struct drm_i915_private *i915);
22void i915_perf_unregister(struct drm_i915_private *i915);
23
24int i915_perf_open_ioctl(struct drm_device *dev, void *data,
25 struct drm_file *file);
26int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
27 struct drm_file *file);
28int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
29 struct drm_file *file);
Chris Wilson7dc56af2019-09-24 15:59:50 +010030void i915_oa_init_reg_state(const struct intel_context *ce,
31 const struct intel_engine_cs *engine);
Jani Nikuladb94e9f2019-08-08 16:42:44 +030032
33#endif /* __I915_PERF_H__ */