| // SPDX-License-Identifier: GPL-2.0-only |
| |
| #include <linux/types.h> |
| |
| #define CREATE_TRACE_POINTS |
| #include "trace.h" |
| |
| #define BYTES_PER_LINE 16 |
| #define MAX_CHUNK_SIZE ((PAGE_SIZE - 150) /* Place for trace header */ \ |
| / (2 * BYTES_PER_LINE + 4) /* chars per line */ \ |
| * BYTES_PER_LINE) |
| |
| void trace_catpt_ipc_payload(const void *data, size_t size) |
| { |
| size_t remaining = size; |
| size_t offset = 0; |
| |
| while (remaining > 0) { |
| u32 chunk; |
| |
| chunk = min_t(size_t, remaining, MAX_CHUNK_SIZE); |
| trace_catpt_ipc_payload_chunk(data, chunk, offset, size); |
| |
| remaining -= chunk; |
| offset += chunk; |
| } |
| } |