adreno_trace.c 885 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (c) 2021 The Linux Foundation. All rights reserved.
  4. */
  5. #include <linux/trace.h>
  6. #include "adreno.h"
  7. /* Instantiate tracepoints */
  8. #define CREATE_TRACE_POINTS
  9. #include "adreno_trace.h"
  10. #ifdef CONFIG_QCOM_KGSL_FENCE_TRACE
  11. static const char * const kgsl_fence_trace_events[] = {
  12. "adreno_cmdbatch_submitted",
  13. "adreno_cmdbatch_retired",
  14. "syncpoint_fence",
  15. "syncpoint_fence_expire",
  16. "kgsl_fire_event",
  17. "kgsl_timeline_fence_alloc",
  18. "kgsl_timeline_fence_release",
  19. };
  20. void adreno_fence_trace_array_init(struct kgsl_device *device)
  21. {
  22. int i;
  23. device->fence_trace_array = trace_array_get_by_name("kgsl-fence");
  24. if (!device->fence_trace_array)
  25. return;
  26. for (i = 0; i < ARRAY_SIZE(kgsl_fence_trace_events); i++)
  27. trace_array_set_clr_event(device->fence_trace_array,
  28. "kgsl", kgsl_fence_trace_events[i], true);
  29. }
  30. #endif