drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h

Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h

File Facts

System
Linux kernel
Corpus path
drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
Extension
.h
Size
12679 bytes
Lines
407
Domain
Driver Families
Bucket
drivers/staging
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _IA_CSS_DEBUG_H_
#define _IA_CSS_DEBUG_H_

/*! \file */

#include <type_support.h>
#include <linux/stdarg.h>
#include <linux/bits.h>
#include "ia_css_types.h"
#include "ia_css_binary.h"
#include "ia_css_frame_public.h"
#include "ia_css_pipe_public.h"
#include "ia_css_stream_public.h"
#include "ia_css_metadata.h"
#include "sh_css_internal.h"
/* ISP2500 */
#include "ia_css_pipe.h"

/* available levels */
/*! Level for tracing errors */
#define IA_CSS_DEBUG_ERROR   1
/*! Level for tracing warnings */
#define IA_CSS_DEBUG_WARNING 3
/*! Level for tracing debug messages */
#define IA_CSS_DEBUG_VERBOSE   5
/*! Level for tracing trace messages a.o. ia_css public function calls */
#define IA_CSS_DEBUG_TRACE   6
/*! Level for tracing trace messages a.o. ia_css private function calls */
#define IA_CSS_DEBUG_TRACE_PRIVATE   7
/*! Level for tracing parameter messages e.g. in and out params of functions */
#define IA_CSS_DEBUG_PARAM   8
/*! Level for tracing info messages */
#define IA_CSS_DEBUG_INFO    9

/* Global variable which controls the verbosity levels of the debug tracing */
extern int dbg_level;

/*! @brief Enum defining the different isp parameters to dump.
 *  Values can be combined to dump a combination of sets.
 */
enum ia_css_debug_enable_param_dump {
	IA_CSS_DEBUG_DUMP_FPN = BIT(0),  /** FPN table */
	IA_CSS_DEBUG_DUMP_OB  = BIT(1),  /** OB table */
	IA_CSS_DEBUG_DUMP_SC  = BIT(2),  /** Shading table */
	IA_CSS_DEBUG_DUMP_WB  = BIT(3),  /** White balance */
	IA_CSS_DEBUG_DUMP_DP  = BIT(4),  /** Defect Pixel */
	IA_CSS_DEBUG_DUMP_BNR = BIT(5),  /** Bayer Noise Reductions */
	IA_CSS_DEBUG_DUMP_S3A = BIT(6),  /** 3A Statistics */
	IA_CSS_DEBUG_DUMP_DE  = BIT(7),  /** De Mosaicing */
	IA_CSS_DEBUG_DUMP_YNR = BIT(8),  /** Luma Noise Reduction */
	IA_CSS_DEBUG_DUMP_CSC = BIT(9),  /** Color Space Conversion */
	IA_CSS_DEBUG_DUMP_GC  = BIT(10), /** Gamma Correction */
	IA_CSS_DEBUG_DUMP_TNR = BIT(11), /** Temporal Noise Reduction */
	IA_CSS_DEBUG_DUMP_ANR = BIT(12), /** Advanced Noise Reduction */
	IA_CSS_DEBUG_DUMP_CE  = BIT(13), /** Chroma Enhancement */
	IA_CSS_DEBUG_DUMP_ALL = BIT(14), /** Dump all device parameters */
};

#define IA_CSS_ERROR(fmt, ...) \
	ia_css_debug_dtrace(IA_CSS_DEBUG_ERROR, \
		"%s() %d: error: " fmt "\n", __func__, __LINE__, ##__VA_ARGS__)

#define IA_CSS_WARNING(fmt, ...) \
	ia_css_debug_dtrace(IA_CSS_DEBUG_WARNING, \
		"%s() %d: warning: " fmt "\n", __func__, __LINE__, ##__VA_ARGS__)

/* Logging macros for public functions (API functions) */
#define IA_CSS_ENTER(fmt, ...) \
	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, \
		"%s(): enter: " fmt "\n", __func__, ##__VA_ARGS__)

/* Use this macro for small functions that do not call other functions. */
#define IA_CSS_ENTER_LEAVE(fmt, ...) \
	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, \
		"%s(): enter: leave: " fmt "\n", __func__, ##__VA_ARGS__)

#define IA_CSS_LEAVE(fmt, ...) \
	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, \
		"%s(): leave: " fmt "\n", __func__, ##__VA_ARGS__)

/* Shorthand for returning an int return value */
#define IA_CSS_LEAVE_ERR(__err) \
	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, \
		"%s() %d: leave: return_err=%d\n", __func__, __LINE__, __err)

/* Use this macro for logging other than enter/leave.
 * Note that this macro always uses the PRIVATE logging level.
 */
#define IA_CSS_LOG(fmt, ...) \
	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, \

Annotation

Implementation Notes