Files
linux-nv-oot/drivers/platform/tegra/dce/include/interface/dce-log-header.h
Jaiyash Agrawal b6fa67fca1 DCE-KMD: Add header support and use bytes written
Parse header info stored at beginning of buffer to retrieve log buffer
info and use bytes written to print the data depending on if encoding is
enabled or not.

JIRA TDS-17441

Change-Id: I99119be05ddda5c5354ba39497a0e471305863e1
Signed-off-by: Jaiyash Agrawal <jaiyasha@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3436761
Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3448848
2025-09-29 13:12:50 -07:00

40 lines
1.6 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only OR MIT
* SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*/
#ifndef DCE_LOG_HEADER_H
#define DCE_LOG_HEADER_H
/**
* Log buffer header information structure
*
* This structure contains metadata about the circular log buffer including
* version information, buffer size, and synchronization flags for DCE and
* consumer communication.
*/
struct dce_log_buffer_header {
uint32_t version; /** Header version for compatibility checking */
uint32_t header_size; /** Size of this header structure */
uint32_t flag; /** Synchronization flag for producer-consumer */
uint32_t circ_buf_size; /** Size of circular buffer region */
uint32_t is_encoded_log; /** Indicates if logs are encoded or not */
uint32_t reserved_32; /** Reserved 32-bit field */
uint64_t reserved_64; /** Reserved 64-bit field */
uint64_t total_bytes_written; /** Total bytes written by DCE */
uint8_t buff[]; /** Starting point of circular region of buffer */
};
/** Log buffer synchronization flag, indicates if DCE is writing actively */
#define DCE_LOG_BUFFER_FLAG_DCE_ACTIVE 0x00000001U
/** Current version of the log buffer header */
#define DCE_LOG_BUFFER_HEADER_VERSION 0x00000001U
/** Size of the log buffer header structure */
#define DCE_LOG_BUFFER_HEADER_SIZE sizeof(dce_log_buffer_header_t)
/** Default DCE log level for printing to log buffer */
#define DCE_LOG_DEFAULT_LOG_LEVEL ((uint32_t)(0xFFFFFFFFU))
#endif