1 #ifndef __NVIF_FIFO_H__
2 #define __NVIF_FIFO_H__
3 #include <nvif/device.h>
4 
5 /* Returns mask of runlists that support a NV_DEVICE_INFO_RUNLIST_ENGINES_* type. */
6 u64 nvif_fifo_runlist(struct nvif_device *, u64 engine);
7 
8 /* CE-supporting runlists (excluding GRCE, if others exist). */
9 static inline u64
nvif_fifo_runlist_ce(struct nvif_device * device)10 nvif_fifo_runlist_ce(struct nvif_device *device)
11 {
12 	u64 runmgr = nvif_fifo_runlist(device, NV_DEVICE_HOST_RUNLIST_ENGINES_GR);
13 	u64 runmce = nvif_fifo_runlist(device, NV_DEVICE_HOST_RUNLIST_ENGINES_CE);
14 	if (runmce && !(runmce &= ~runmgr))
15 		runmce = runmgr;
16 	return runmce;
17 }
18 #endif
19