/* SPDX-License-Identifier: GPL-2.0 */ /* * drivers/staging/android/ion/ion-trace.h * * Copyright (C) 2020 Google, Inc. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM ion #if !defined(_ION_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) #define _ION_TRACE_H #include #ifndef __ION_PTR_TO_HASHVAL static unsigned int __maybe_unused __ion_ptr_to_hash(const void *ptr) { unsigned long hashval; if (ptr_to_hashval(ptr, &hashval)) return 0; /* The hashed value is only 32-bit */ return (unsigned int)hashval; } #define __ION_PTR_TO_HASHVAL #endif TRACE_EVENT(ion_stat, TP_PROTO(const void *addr, long len, unsigned long total_allocated), TP_ARGS(addr, len, total_allocated), TP_STRUCT__entry(__field(unsigned int, buffer_id) __field(long, len) __field(unsigned long, total_allocated) ), TP_fast_assign(__entry->buffer_id = __ion_ptr_to_hash(addr); __entry->len = len; __entry->total_allocated = total_allocated; ), TP_printk("buffer_id=%u len=%ldB total_allocated=%ldB", __entry->buffer_id, __entry->len, __entry->total_allocated) ); #endif /* _ION_TRACE_H */ /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #define TRACE_INCLUDE_FILE ion_trace #include