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