client.h 827 B

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