1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __NVIF_CLIENT_H__ 3#define __NVIF_CLIENT_H__ 4 5#include <nvif/object.h> 6 7struct nvif_client { 8 struct nvif_object object; 9 const struct nvif_driver *driver; 10 u64 version; 11 u8 route; 12 bool super; 13}; 14 15int nvif_client_init(struct nvif_client *parent, const char *name, u64 device, 16 struct nvif_client *); 17void nvif_client_fini(struct nvif_client *); 18int nvif_client_ioctl(struct nvif_client *, void *, u32); 19int nvif_client_suspend(struct nvif_client *); 20int 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