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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
type_support.hlinux/stdarg.hlinux/bits.hia_css_types.hia_css_binary.hia_css_frame_public.hia_css_pipe_public.hia_css_stream_public.hia_css_metadata.hsh_css_internal.hia_css_pipe.h
Detected Declarations
enum ia_css_debug_enable_param_dumpfunction __printf
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
- Immediate include surface: `type_support.h`, `linux/stdarg.h`, `linux/bits.h`, `ia_css_types.h`, `ia_css_binary.h`, `ia_css_frame_public.h`, `ia_css_pipe_public.h`, `ia_css_stream_public.h`.
- Detected declarations: `enum ia_css_debug_enable_param_dump`, `function __printf`.
- Atlas domain: Driver Families / drivers/staging.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.