| // SPDX-License-Identifier: GPL-2.0-only | |
| /* | |
| * Copyright (c) 2021 The Linux Foundation. All rights reserved. | |
| */ | |
| #include <linux/trace.h> | |
| #include "adreno.h" | |
| /* Instantiate tracepoints */ | |
| #define CREATE_TRACE_POINTS | |
| #include "adreno_trace.h" | |
| #ifdef CONFIG_QCOM_KGSL_FENCE_TRACE | |
| static const char * const kgsl_fence_trace_events[] = { | |
| "adreno_cmdbatch_submitted", | |
| "adreno_cmdbatch_retired", | |
| "syncpoint_fence", | |
| "syncpoint_fence_expire", | |
| "kgsl_fire_event", | |
| "kgsl_timeline_fence_alloc", | |
| "kgsl_timeline_fence_release", | |
| }; | |
| void adreno_fence_trace_array_init(struct kgsl_device *device) | |
| { | |
| int i; | |
| device->fence_trace_array = trace_array_get_by_name("kgsl-fence"); | |
| if (!device->fence_trace_array) | |
| return; | |
| for (i = 0; i < ARRAY_SIZE(kgsl_fence_trace_events); i++) | |
| trace_array_set_clr_event(device->fence_trace_array, | |
| "kgsl", kgsl_fence_trace_events[i], true); | |
| } | |
| #endif |