mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
cdfad4db77
Implement time based Metric Streamer profiling UAPI. This is a generic mechanism allowing user mode tools to sample NPU metrics. These metrics are defined by the FW and transparent to the driver. The user space can check for this feature by checking DRM_IVPU_CAP_METRIC_STREAMER driver capability. Signed-off-by: Tomasz Rusinowicz <tomasz.rusinowicz@intel.com> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240513120431.3187212-9-jacek.lawrynowicz@linux.intel.com
37 lines
1009 B
C
37 lines
1009 B
C
/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
|
|
/*
|
|
* Copyright (C) 2020-2024 Intel Corporation
|
|
*/
|
|
#ifndef __IVPU_MS_H__
|
|
#define __IVPU_MS_H__
|
|
|
|
#include <linux/list.h>
|
|
|
|
struct drm_device;
|
|
struct drm_file;
|
|
struct ivpu_bo;
|
|
struct ivpu_device;
|
|
struct ivpu_file_priv;
|
|
|
|
struct ivpu_ms_instance {
|
|
struct ivpu_bo *bo;
|
|
struct list_head ms_instance_node;
|
|
u64 mask;
|
|
u64 buff_size;
|
|
u64 active_buff_vpu_addr;
|
|
u64 inactive_buff_vpu_addr;
|
|
void *active_buff_ptr;
|
|
void *inactive_buff_ptr;
|
|
u64 leftover_bytes;
|
|
void *leftover_addr;
|
|
};
|
|
|
|
int ivpu_ms_start_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
|
|
int ivpu_ms_stop_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
|
|
int ivpu_ms_get_data_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
|
|
int ivpu_ms_get_info_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
|
|
void ivpu_ms_cleanup(struct ivpu_file_priv *file_priv);
|
|
void ivpu_ms_cleanup_all(struct ivpu_device *vdev);
|
|
|
|
#endif /* __IVPU_MS_H__ */
|