162306a36Sopenharmony_ci/* SPDX-License-Identifier: MIT */
262306a36Sopenharmony_ci#ifndef __NVIF_IF0020_H__
362306a36Sopenharmony_ci#define __NVIF_IF0020_H__
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciunion nvif_chan_args {
662306a36Sopenharmony_ci	struct nvif_chan_v0 {
762306a36Sopenharmony_ci		__u8  version;
862306a36Sopenharmony_ci		__u8  namelen;
962306a36Sopenharmony_ci		__u8  runlist;
1062306a36Sopenharmony_ci		__u8  runq;
1162306a36Sopenharmony_ci		__u8  priv;
1262306a36Sopenharmony_ci		__u8  pad05;
1362306a36Sopenharmony_ci		__u16 devm;
1462306a36Sopenharmony_ci		__u64 vmm;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci		__u64 ctxdma;
1762306a36Sopenharmony_ci		__u64 offset;
1862306a36Sopenharmony_ci		__u64 length;
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci		__u64 huserd;
2162306a36Sopenharmony_ci		__u64 ouserd;
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci		__u32 token;
2462306a36Sopenharmony_ci		__u16 chid;
2562306a36Sopenharmony_ci		__u8  pad3e;
2662306a36Sopenharmony_ci#define NVIF_CHAN_V0_INST_APER_VRAM 0
2762306a36Sopenharmony_ci#define NVIF_CHAN_V0_INST_APER_HOST 1
2862306a36Sopenharmony_ci#define NVIF_CHAN_V0_INST_APER_NCOH 2
2962306a36Sopenharmony_ci#define NVIF_CHAN_V0_INST_APER_INST 0xff
3062306a36Sopenharmony_ci		__u8  aper;
3162306a36Sopenharmony_ci		__u64 inst;
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci		__u8  name[];
3462306a36Sopenharmony_ci	} v0;
3562306a36Sopenharmony_ci};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciunion nvif_chan_event_args {
3862306a36Sopenharmony_ci	struct nvif_chan_event_v0 {
3962306a36Sopenharmony_ci		__u8 version;
4062306a36Sopenharmony_ci#define NVIF_CHAN_EVENT_V0_NON_STALL_INTR 0x00
4162306a36Sopenharmony_ci#define NVIF_CHAN_EVENT_V0_KILLED         0x01
4262306a36Sopenharmony_ci		__u8 type;
4362306a36Sopenharmony_ci	} v0;
4462306a36Sopenharmony_ci};
4562306a36Sopenharmony_ci#endif
46