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. */
6u64 nvif_fifo_runlist(struct nvif_device *, u64 engine);
7
8/* CE-supporting runlists (excluding GRCE, if others exist). */
9static inline u64
10nvif_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