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