event.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __NVIF_EVENT_H__
  3. #define __NVIF_EVENT_H__
  4. struct nvif_notify_req_v0 {
  5. __u8 version;
  6. __u8 reply;
  7. __u8 pad02[5];
  8. #define NVIF_NOTIFY_V0_ROUTE_NVIF 0x00
  9. __u8 route;
  10. __u64 token; /* must be unique */
  11. __u8 data[]; /* request data (below) */
  12. };
  13. struct nvif_notify_rep_v0 {
  14. __u8 version;
  15. __u8 pad01[6];
  16. __u8 route;
  17. __u64 token;
  18. __u8 data[]; /* reply data (below) */
  19. };
  20. struct nvif_notify_head_req_v0 {
  21. /* nvif_notify_req ... */
  22. __u8 version;
  23. __u8 head;
  24. __u8 pad02[6];
  25. };
  26. struct nvif_notify_head_rep_v0 {
  27. /* nvif_notify_rep ... */
  28. __u8 version;
  29. __u8 pad01[7];
  30. };
  31. struct nvif_notify_conn_req_v0 {
  32. /* nvif_notify_req ... */
  33. __u8 version;
  34. #define NVIF_NOTIFY_CONN_V0_PLUG 0x01
  35. #define NVIF_NOTIFY_CONN_V0_UNPLUG 0x02
  36. #define NVIF_NOTIFY_CONN_V0_IRQ 0x04
  37. #define NVIF_NOTIFY_CONN_V0_ANY 0x07
  38. __u8 mask;
  39. __u8 conn;
  40. __u8 pad03[5];
  41. };
  42. struct nvif_notify_conn_rep_v0 {
  43. /* nvif_notify_rep ... */
  44. __u8 version;
  45. __u8 mask;
  46. __u8 pad02[6];
  47. };
  48. struct nvif_notify_uevent_req {
  49. /* nvif_notify_req ... */
  50. };
  51. struct nvif_notify_uevent_rep {
  52. /* nvif_notify_rep ... */
  53. };
  54. #endif