xref: /OK3568_Linux_fs/kernel/drivers/gpu/drm/nouveau/include/nvif/fifo.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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*4882a593Smuzhiyun nvif_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