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__ */
|