Ben Skeggs | c39f472 | 2015-01-13 22:13:14 +1000 | [diff] [blame] | 1 | #ifndef __NVIF_CLIENT_H__ |
| 2 | #define __NVIF_CLIENT_H__ |
| 3 | |
| 4 | #include <nvif/object.h> |
| 5 | |
| 6 | struct nvif_client { |
Ben Skeggs | a01ca78 | 2015-08-20 14:54:15 +1000 | [diff] [blame^] | 7 | struct nvif_object object; |
Ben Skeggs | c39f472 | 2015-01-13 22:13:14 +1000 | [diff] [blame] | 8 | const struct nvif_driver *driver; |
Ben Skeggs | a01ca78 | 2015-08-20 14:54:15 +1000 | [diff] [blame^] | 9 | u8 route; |
Ben Skeggs | c39f472 | 2015-01-13 22:13:14 +1000 | [diff] [blame] | 10 | bool super; |
| 11 | }; |
| 12 | |
Ben Skeggs | a01ca78 | 2015-08-20 14:54:15 +1000 | [diff] [blame^] | 13 | int nvif_client_init(const char *drv, const char *name, u64 device, |
| 14 | const char *cfg, const char *dbg, |
Ben Skeggs | c39f472 | 2015-01-13 22:13:14 +1000 | [diff] [blame] | 15 | struct nvif_client *); |
| 16 | void nvif_client_fini(struct nvif_client *); |
Ben Skeggs | c39f472 | 2015-01-13 22:13:14 +1000 | [diff] [blame] | 17 | int nvif_client_ioctl(struct nvif_client *, void *, u32); |
| 18 | int nvif_client_suspend(struct nvif_client *); |
| 19 | int nvif_client_resume(struct nvif_client *); |
| 20 | |
| 21 | /*XXX*/ |
| 22 | #include <core/client.h> |
Ben Skeggs | a01ca78 | 2015-08-20 14:54:15 +1000 | [diff] [blame^] | 23 | #define nvxx_client(a) ({ \ |
| 24 | struct nvif_client *_client = (a); \ |
| 25 | nvkm_client(_client->object.priv); \ |
Ben Skeggs | c39f472 | 2015-01-13 22:13:14 +1000 | [diff] [blame] | 26 | }) |
Ben Skeggs | c39f472 | 2015-01-13 22:13:14 +1000 | [diff] [blame] | 27 | #endif |