1 /* SPDX-License-Identifier: MIT */ 2 #ifndef __NVIF_CLIENT_H__ 3 #define __NVIF_CLIENT_H__ 4 5 #include <nvif/object.h> 6 7 struct nvif_client { 8 struct nvif_object object; 9 const struct nvif_driver *driver; 10 u64 version; 11 u8 route; 12 }; 13 14 int nvif_client_ctor(struct nvif_client *parent, const char *name, u64 device, 15 struct nvif_client *); 16 void nvif_client_dtor(struct nvif_client *); 17 int nvif_client_ioctl(struct nvif_client *, void *, u32); 18 int nvif_client_suspend(struct nvif_client *); 19 int nvif_client_resume(struct nvif_client *); 20 21 /*XXX*/ 22 #include <core/client.h> 23 #define nvxx_client(a) ({ \ 24 struct nvif_client *_client = (a); \ 25 (struct nvkm_client *)_client->object.priv; \ 26 }) 27 #endif 28