File: amd_shared_process.h

package info (click to toggle)
intel-gpu-tools 2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 62,024 kB
  • sloc: xml: 769,439; ansic: 348,692; python: 8,307; yacc: 2,781; perl: 1,196; sh: 1,178; lex: 487; asm: 227; makefile: 27; lisp: 11
file content (63 lines) | stat: -rw-r--r-- 1,236 bytes parent folder | download
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* SPDX-License-Identifier: MIT
 * Copyright 2024 Advanced Micro Devices, Inc.
 *
 */

#ifndef __AMD_SHARED_PROCESS_H__
#define __AMD_SHARED_PROCESS_H__

#include <semaphore.h>

#define SHARED_BROTHER_DESCRIPTOR 3
#define NUM_BROTHER_PROCESSES 2

#define BROTHER	"brother"
#define ONDEVICE	"--device"

enum  process_type {
	PROCESS_UNKNOWN,
	PROCESS_TEST,
	PROCESS_BROTHER,
};

struct shmbuf {
	sem_t sem_mutex;
	sem_t sync_sem_enter;
	sem_t sync_sem_exit;
	int count;
};

int
shared_mem_create(struct shmbuf **ppbuf, char shm_name[256]);

int
shared_mem_open(struct shmbuf **ppbuf);

int
shared_mem_destroy(struct shmbuf *shmp, int shm_fd, int unmap, const char *shm_name);

void
sync_point_enter(struct shmbuf *sh_mem);

void
sync_point_exit(struct shmbuf *sh_mem);

int
get_command_line(char cmdline[2048], int *pargc, char ***pppargv, char **ppath);

int
is_brother_parameter_found(int argc, char **argv, const char *param);

int
add_brother_parameter(int *pargc, char **argv, const char *param);

void
free_command_line(int argc, char **argv, char *path);

int
is_run_device_parameter_found(int argc, char **argv, const char *param);

int
launch_brother_process(int argc, char **argv, char *path, pid_t *ppid, int shm_fd);

#endif