162306a36Sopenharmony_ci#ifndef __NVIF_USER_H__ 262306a36Sopenharmony_ci#define __NVIF_USER_H__ 362306a36Sopenharmony_ci#include <nvif/object.h> 462306a36Sopenharmony_cistruct nvif_device; 562306a36Sopenharmony_ci 662306a36Sopenharmony_cistruct nvif_user { 762306a36Sopenharmony_ci const struct nvif_user_func *func; 862306a36Sopenharmony_ci struct nvif_object object; 962306a36Sopenharmony_ci}; 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cistruct nvif_user_func { 1262306a36Sopenharmony_ci void (*doorbell)(struct nvif_user *, u32 token); 1362306a36Sopenharmony_ci u64 (*time)(struct nvif_user *); 1462306a36Sopenharmony_ci}; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciint nvif_user_ctor(struct nvif_device *, const char *name); 1762306a36Sopenharmony_civoid nvif_user_dtor(struct nvif_device *); 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciextern const struct nvif_user_func nvif_userc361; 2062306a36Sopenharmony_ci#endif 21