gh_virtio_backend.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  4. */
  5. #undef TRACE_SYSTEM
  6. #define TRACE_SYSTEM gh_virtio_backend
  7. #if !defined(_TRACE_GH_VIRTIO_BACKEND_H) || defined(TRACE_HEADER_MULTI_READ)
  8. #define _TRACE_GH_VIRTIO_BACKEND_H
  9. #include <linux/tracepoint.h>
  10. TRACE_EVENT(gh_virtio_backend_irq_inj,
  11. TP_PROTO(int label, int rc),
  12. TP_ARGS(label, rc),
  13. TP_STRUCT__entry(
  14. __field(int, label)
  15. __field(int, rc)
  16. ),
  17. TP_fast_assign(
  18. __entry->label = label;
  19. __entry->rc = rc;
  20. ),
  21. TP_printk("device %d inj_irq rc %d", __entry->label, __entry->rc)
  22. );
  23. TRACE_EVENT(gh_virtio_backend_queue_notify,
  24. TP_PROTO(int label, int qno),
  25. TP_ARGS(label, qno),
  26. TP_STRUCT__entry(
  27. __field(int, label)
  28. __field(int, qno)
  29. ),
  30. TP_fast_assign(
  31. __entry->label = label;
  32. __entry->qno = qno;
  33. ),
  34. TP_printk("device %d queue_notify on %d", __entry->label, __entry->qno)
  35. );
  36. TRACE_EVENT(gh_virtio_backend_wait_event,
  37. TP_PROTO(int label, int cur_event, int org_event, int cur_event_data, int org_event_data),
  38. TP_ARGS(label, cur_event, org_event, cur_event_data, org_event_data),
  39. TP_STRUCT__entry(
  40. __field(int, label)
  41. __field(int, cur_event)
  42. __field(int, org_event)
  43. __field(int, cur_event_data)
  44. __field(int, org_event_data)
  45. ),
  46. TP_fast_assign(
  47. __entry->label = label;
  48. __entry->cur_event = cur_event;
  49. __entry->cur_event_data = cur_event_data;
  50. __entry->org_event = org_event;
  51. __entry->org_event_data = org_event_data;
  52. ),
  53. TP_printk("device %d cur_evt/org_evt %x/%x, cur_evt_data/org_evt_data %x/%x",
  54. __entry->label, __entry->cur_event, __entry->org_event,
  55. __entry->cur_event_data, __entry->org_event_data)
  56. );
  57. TRACE_EVENT(gh_virtio_backend_irq,
  58. TP_PROTO(int label, int event, int event_data, int rc),
  59. TP_ARGS(label, event, event_data, rc),
  60. TP_STRUCT__entry(
  61. __field(int, label)
  62. __field(int, event)
  63. __field(int, event_data)
  64. __field(int, rc)
  65. ),
  66. TP_fast_assign(
  67. __entry->label = label;
  68. __entry->event = event;
  69. __entry->event_data = event_data;
  70. __entry->rc = rc;
  71. ),
  72. TP_printk("device %d irq (rc %d) event %x event_data %x",
  73. __entry->label, __entry->rc, __entry->event, __entry->event_data)
  74. );
  75. #endif /* _TRACE_GH_VIRTIO_BACKEND_H */
  76. /* This part must be outside protection */
  77. #include <trace/define_trace.h>