14562236bSHarry Wentland /* 24562236bSHarry Wentland * Copyright 2012-15 Advanced Micro Devices, Inc. 34562236bSHarry Wentland * 44562236bSHarry Wentland * Permission is hereby granted, free of charge, to any person obtaining a 54562236bSHarry Wentland * copy of this software and associated documentation files (the "Software"), 64562236bSHarry Wentland * to deal in the Software without restriction, including without limitation 74562236bSHarry Wentland * the rights to use, copy, modify, merge, publish, distribute, sublicense, 84562236bSHarry Wentland * and/or sell copies of the Software, and to permit persons to whom the 94562236bSHarry Wentland * Software is furnished to do so, subject to the following conditions: 104562236bSHarry Wentland * 114562236bSHarry Wentland * The above copyright notice and this permission notice shall be included in 124562236bSHarry Wentland * all copies or substantial portions of the Software. 134562236bSHarry Wentland * 144562236bSHarry Wentland * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 154562236bSHarry Wentland * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 164562236bSHarry Wentland * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 174562236bSHarry Wentland * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 184562236bSHarry Wentland * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 194562236bSHarry Wentland * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 204562236bSHarry Wentland * OTHER DEALINGS IN THE SOFTWARE. 214562236bSHarry Wentland * 224562236bSHarry Wentland * Authors: AMD 234562236bSHarry Wentland * 244562236bSHarry Wentland */ 254562236bSHarry Wentland 264562236bSHarry Wentland #ifndef __DAL_LOGGER_H__ 274562236bSHarry Wentland #define __DAL_LOGGER_H__ 284562236bSHarry Wentland 294562236bSHarry Wentland /* Structure for keeping track of offsets, buffer, etc */ 304562236bSHarry Wentland 314562236bSHarry Wentland #define DAL_LOGGER_BUFFER_MAX_SIZE 2048 324562236bSHarry Wentland 334562236bSHarry Wentland /*Connectivity log needs to output EDID, which needs at lease 256x3 bytes, 344562236bSHarry Wentland * change log line size to 896 to meet the request. 354562236bSHarry Wentland */ 364562236bSHarry Wentland #define LOG_MAX_LINE_SIZE 896 374562236bSHarry Wentland 384562236bSHarry Wentland #include "include/logger_types.h" 394562236bSHarry Wentland 404562236bSHarry Wentland struct dal_logger { 414562236bSHarry Wentland 424562236bSHarry Wentland /* How far into the circular buffer has been read by dsat 434562236bSHarry Wentland * Read offset should never cross write offset. Write \0's to 444562236bSHarry Wentland * read data just to be sure? 454562236bSHarry Wentland */ 464562236bSHarry Wentland uint32_t buffer_read_offset; 474562236bSHarry Wentland 484562236bSHarry Wentland /* How far into the circular buffer we have written 494562236bSHarry Wentland * Write offset should never cross read offset 504562236bSHarry Wentland */ 514562236bSHarry Wentland uint32_t buffer_write_offset; 524562236bSHarry Wentland 534562236bSHarry Wentland uint32_t write_wrap_count; 544562236bSHarry Wentland uint32_t read_wrap_count; 554562236bSHarry Wentland 564562236bSHarry Wentland uint32_t open_count; 574562236bSHarry Wentland 584562236bSHarry Wentland char *log_buffer; /* Pointer to malloc'ed buffer */ 594562236bSHarry Wentland uint32_t log_buffer_size; /* Size of circular buffer */ 604562236bSHarry Wentland 614562236bSHarry Wentland uint32_t mask; /*array of masks for major elements*/ 624562236bSHarry Wentland 634562236bSHarry Wentland union logger_flags flags; 644562236bSHarry Wentland struct dc_context *ctx; 654562236bSHarry Wentland }; 664562236bSHarry Wentland 674562236bSHarry Wentland #endif /* __DAL_LOGGER_H__ */ 68