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