File: ivpu_ms.h

package info (click to toggle)
linux 6.12.43-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,676,260 kB
  • sloc: ansic: 25,921,022; asm: 269,579; sh: 136,424; python: 65,440; makefile: 55,721; perl: 37,752; xml: 19,284; cpp: 5,895; yacc: 4,927; lex: 2,939; awk: 1,594; sed: 28; ruby: 25
file content (36 lines) | stat: -rw-r--r-- 1,009 bytes parent folder | download | duplicates (23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* 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__ */