mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Exposes a bunch of the new features that became possible as a result of the earlier commits. DRM will build on this in the future to add support for features such as SCG ("async compute") and multi-device rendering, as part of the work necessary to be able to write a half- decent vulkan driver - finally. For the moment, this just crudely ports DRM to the API changes. - channel class interfaces now the same for all HW classes - channel group class exposed (SCG) - channel runqueue selector exposed (SCG) - channel sub-device id control exposed (multi-device rendering) - channel names in logging will reflect creating process, not fd owner - explicit USERD allocation required by VOLTA_CHANNEL_GPFIFO_A and newer - drm is smarter about determining the appropriate channel class to use Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
45 lines
791 B
C
45 lines
791 B
C
/* SPDX-License-Identifier: MIT */
|
|
#ifndef __NVIF_IF0020_H__
|
|
#define __NVIF_IF0020_H__
|
|
|
|
union nvif_chan_args {
|
|
struct nvif_chan_v0 {
|
|
__u8 version;
|
|
__u8 namelen;
|
|
__u8 runlist;
|
|
__u8 runq;
|
|
__u8 priv;
|
|
__u8 pad05;
|
|
__u16 devm;
|
|
__u64 vmm;
|
|
|
|
__u64 ctxdma;
|
|
__u64 offset;
|
|
__u64 length;
|
|
|
|
__u64 huserd;
|
|
__u64 ouserd;
|
|
|
|
__u32 token;
|
|
__u16 chid;
|
|
__u8 pad3e;
|
|
#define NVIF_CHAN_V0_INST_APER_VRAM 0
|
|
#define NVIF_CHAN_V0_INST_APER_HOST 1
|
|
#define NVIF_CHAN_V0_INST_APER_NCOH 2
|
|
#define NVIF_CHAN_V0_INST_APER_INST 0xff
|
|
__u8 aper;
|
|
__u64 inst;
|
|
|
|
__u8 name[];
|
|
} v0;
|
|
};
|
|
|
|
union nvif_chan_event_args {
|
|
struct nvif_chan_event_v0 {
|
|
__u8 version;
|
|
#define NVIF_CHAN_EVENT_V0_NON_STALL_INTR 0x00
|
|
#define NVIF_CHAN_EVENT_V0_KILLED 0x01
|
|
__u8 type;
|
|
} v0;
|
|
};
|
|
#endif
|