18c2ecf20Sopenharmony_ci#ifndef __NVIF_USER_H__ 28c2ecf20Sopenharmony_ci#define __NVIF_USER_H__ 38c2ecf20Sopenharmony_ci#include <nvif/object.h> 48c2ecf20Sopenharmony_cistruct nvif_device; 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cistruct nvif_user { 78c2ecf20Sopenharmony_ci const struct nvif_user_func *func; 88c2ecf20Sopenharmony_ci struct nvif_object object; 98c2ecf20Sopenharmony_ci}; 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistruct nvif_user_func { 128c2ecf20Sopenharmony_ci void (*doorbell)(struct nvif_user *, u32 token); 138c2ecf20Sopenharmony_ci u64 (*time)(struct nvif_user *); 148c2ecf20Sopenharmony_ci}; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciint nvif_user_ctor(struct nvif_device *, const char *name); 178c2ecf20Sopenharmony_civoid nvif_user_dtor(struct nvif_device *); 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciextern const struct nvif_user_func nvif_userc361; 208c2ecf20Sopenharmony_ci#endif 21