XenevaOS
Loading...
Searching...
No Matches
ethosu_accel.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: MIT */
2/* Copyright (C) 2025 Arm, Ltd. */
3#ifndef _ETHOSU_DRM_H_
4#define _ETHOSU_DRM_H_
5
6#include "drm.h"
7
8#if defined(__cplusplus)
9extern "C" {
10#endif
11
47
61
70#define DRM_ETHOSU_ARCH_MAJOR(x) ((x) >> 28)
71#define DRM_ETHOSU_ARCH_MINOR(x) (((x) >> 20) & 0xff)
72#define DRM_ETHOSU_ARCH_PATCH(x) (((x) >> 16) & 0xf)
73#define DRM_ETHOSU_PRODUCT_MAJOR(x) (((x) >> 12) & 0xf)
74#define DRM_ETHOSU_VERSION_MAJOR(x) (((x) >> 8) & 0xf)
75#define DRM_ETHOSU_VERSION_MINOR(x) (((x) >> 4) & 0xff)
76#define DRM_ETHOSU_VERSION_STATUS(x) ((x) & 0xf)
77
80
82};
83
111
122
146
160
174
176 /* Size of the data argument. */
178
179 /* Flags, currently must be 0. */
181
182 /* Pointer to the data. */
184
187
188 /* Pad, must be 0. */
190};
191
210
226
238#define DRM_IOCTL_ETHOSU(__access, __id, __type) \
239 DRM_IO ## __access(DRM_COMMAND_BASE + DRM_ETHOSU_ ## __id, \
240 struct drm_ethosu_ ## __type)
241
242enum {
244 DRM_IOCTL_ETHOSU(WR, DEV_QUERY, dev_query),
246 DRM_IOCTL_ETHOSU(WR, BO_CREATE, bo_create),
248 DRM_IOCTL_ETHOSU(WR, BO_WAIT, bo_wait),
250 DRM_IOCTL_ETHOSU(WR, BO_MMAP_OFFSET, bo_mmap_offset),
252 DRM_IOCTL_ETHOSU(WR, CMDSTREAM_BO_CREATE, cmdstream_bo_create),
254 DRM_IOCTL_ETHOSU(WR, SUBMIT, submit),
255};
256
257#if defined(__cplusplus)
258}
259#endif
260
261#endif /* _ETHOSU_DRM_H_ */
uint32_t __u32
Definition drm.h:42
int64_t __s64
Definition drm.h:43
uint64_t __u64
Definition drm.h:44
@ DRM_IOCTL_ETHOSU_BO_CREATE
Definition ethosu_accel.h:245
@ DRM_IOCTL_ETHOSU_BO_MMAP_OFFSET
Definition ethosu_accel.h:249
@ DRM_IOCTL_ETHOSU_BO_WAIT
Definition ethosu_accel.h:247
@ DRM_IOCTL_ETHOSU_SUBMIT
Definition ethosu_accel.h:253
@ DRM_IOCTL_ETHOSU_DEV_QUERY
Definition ethosu_accel.h:243
@ DRM_IOCTL_ETHOSU_CMDSTREAM_BO_CREATE
Definition ethosu_accel.h:251
drm_ethosu_ioctl_id
Definition ethosu_accel.h:22
@ DRM_ETHOSU_BO_WAIT
Definition ethosu_accel.h:30
@ DRM_ETHOSU_SUBMIT
Definition ethosu_accel.h:45
@ DRM_ETHOSU_BO_CREATE
Definition ethosu_accel.h:27
@ DRM_ETHOSU_DEV_QUERY
Definition ethosu_accel.h:24
@ DRM_ETHOSU_BO_MMAP_OFFSET
Definition ethosu_accel.h:36
@ DRM_ETHOSU_CMDSTREAM_BO_CREATE
Definition ethosu_accel.h:42
#define ETHOSU_MAX_REGIONS
Definition ethosu_accel.h:206
drm_ethosu_dev_query_type
Definition ethosu_accel.h:57
@ DRM_ETHOSU_DEV_QUERY_NPU_INFO
Definition ethosu_accel.h:59
#define DRM_IOCTL_ETHOSU(__access, __id, __type)
Definition ethosu_accel.h:238
drm_ethosu_bo_flags
Definition ethosu_accel.h:115
@ DRM_ETHOSU_BO_NO_MMAP
Definition ethosu_accel.h:120
Definition ethosu_accel.h:126
__u64 size
Definition ethosu_accel.h:132
__u32 flags
Definition ethosu_accel.h:137
__u32 handle
Definition ethosu_accel.h:144
Definition ethosu_accel.h:150
__u64 offset
Definition ethosu_accel.h:158
__u32 pad
Definition ethosu_accel.h:155
__u32 handle
Definition ethosu_accel.h:152
Definition ethosu_accel.h:169
__u32 handle
Definition ethosu_accel.h:170
__s64 timeout_ns
Definition ethosu_accel.h:172
__u32 pad
Definition ethosu_accel.h:171
Definition ethosu_accel.h:175
__u32 flags
Definition ethosu_accel.h:180
__u32 handle
Definition ethosu_accel.h:186
__u32 size
Definition ethosu_accel.h:177
__u64 data
Definition ethosu_accel.h:183
__u32 pad
Definition ethosu_accel.h:189
Definition ethosu_accel.h:87
__u32 size
Definition ethosu_accel.h:100
__u64 pointer
Definition ethosu_accel.h:109
__u32 type
Definition ethosu_accel.h:89
Definition ethosu_accel.h:199
__u32 sram_size
Definition ethosu_accel.h:204
__u32 region_bo_handles[ETHOSU_MAX_REGIONS]
Definition ethosu_accel.h:208
__u32 cmd_bo
Definition ethosu_accel.h:201
Definition ethosu_accel.h:67
__u32 id
Definition ethosu_accel.h:69
__u32 config
Definition ethosu_accel.h:79
__u32 sram_size
Definition ethosu_accel.h:81
Definition ethosu_accel.h:216
__u32 job_count
Definition ethosu_accel.h:221
__u64 jobs
Definition ethosu_accel.h:218
__u32 pad
Definition ethosu_accel.h:224