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