1 /* SPDX-License-Identifier: GPL-2.0 */ 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 bool super; 13 }; 14 15 int nvif_client_init(struct nvif_client *parent, const char *name, u64 device, 16 struct nvif_client *); 17 void nvif_client_fini(struct nvif_client *); 18 int nvif_client_ioctl(struct nvif_client *, void *, u32); 19 int nvif_client_suspend(struct nvif_client *); 20 int nvif_client_resume(struct nvif_client *); 21 22 /*XXX*/ 23 #include <core/client.h> 24 #define nvxx_client(a) ({ \ 25 struct nvif_client *_client = (a); \ 26 (struct nvkm_client *)_client->object.priv; \ 27 }) 28 #endif 29