Loading...
Note: File does not exist in v6.8.
1/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
2/*
3 * Copyright (C) 2020-2024 Intel Corporation
4 */
5#ifndef __IVPU_MS_H__
6#define __IVPU_MS_H__
7
8#include <linux/list.h>
9
10struct drm_device;
11struct drm_file;
12struct ivpu_bo;
13struct ivpu_device;
14struct ivpu_file_priv;
15
16struct ivpu_ms_instance {
17 struct ivpu_bo *bo;
18 struct list_head ms_instance_node;
19 u64 mask;
20 u64 buff_size;
21 u64 active_buff_vpu_addr;
22 u64 inactive_buff_vpu_addr;
23 void *active_buff_ptr;
24 void *inactive_buff_ptr;
25 u64 leftover_bytes;
26 void *leftover_addr;
27};
28
29int ivpu_ms_start_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
30int ivpu_ms_stop_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
31int ivpu_ms_get_data_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
32int ivpu_ms_get_info_ioctl(struct drm_device *dev, void *data, struct drm_file *file);
33void ivpu_ms_cleanup(struct ivpu_file_priv *file_priv);
34void ivpu_ms_cleanup_all(struct ivpu_device *vdev);
35
36#endif /* __IVPU_MS_H__ */