client.h 788 B

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