drivers/staging/media/atomisp/include/linux/atomisp.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/include/linux/atomisp.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/include/linux/atomisp.h- Extension
.h- Size
- 28848 bytes
- Lines
- 906
- 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
linux/types.h
Detected Declarations
struct atomisp_nr_configstruct atomisp_tnr_configstruct atomisp_histogramstruct atomisp_ob_configstruct atomisp_ee_configstruct atomisp_3a_outputstruct atomisp_gc_configstruct atomisp_3a_configstruct atomisp_dvs_grid_infostruct atomisp_dvs_envelopstruct atomisp_grid_infostruct atomisp_dis_vectorstruct atomisp_dvs2_coef_typesstruct atomisp_dvs2_stat_typesstruct atomisp_dis_coefficientsstruct atomisp_dvs2_statisticsstruct atomisp_dis_statisticsstruct atomisp_3a_rgby_outputstruct atomisp_ext_isp_ctrlstruct atomisp_3a_statisticsstruct atomisp_wb_configstruct atomisp_cc_configstruct atomisp_de_configstruct atomisp_ce_configstruct atomisp_dp_configstruct atomisp_xnr_configstruct atomisp_metadata_configstruct atomisp_resolutionstruct atomisp_zoom_pointstruct atomisp_zoom_regionstruct atomisp_dz_configstruct atomisp_parmstruct dvs2_bq_resolutionstruct atomisp_dvs2_bq_resolutionsstruct atomisp_dvs_6axis_configstruct atomisp_formats_configstruct atomisp_parametersstruct atomisp_gamma_tablestruct atomisp_morph_tablestruct atomisp_shading_tablestruct atomisp_macc_tablestruct atomisp_macc_configstruct atomisp_ctc_tablestruct atomisp_overlaystruct atomisp_exposurestruct atomisp_bc_video_packageenum atomisp_ob_modeenum atomisp_calibration_type
Annotated Snippet
struct atomisp_nr_config {
/* [gain] Strength of noise reduction for Bayer NR */
unsigned int bnr_gain;
/* [gain] Strength of noise reduction for YCC NR */
unsigned int ynr_gain;
/* [intensity] Sensitivity of Edge (Used by Bayer NR) */
unsigned int direction;
/* [intensity] coring threshold for Cb (Used by YCC NR) */
unsigned int threshold_cb;
/* [intensity] coring threshold for Cr (Used by YCC NR) */
unsigned int threshold_cr;
};
/* Temporal noise reduction configuration */
struct atomisp_tnr_config {
unsigned int gain; /* [gain] Strength of NR */
unsigned int threshold_y;/* [intensity] Motion sensitivity for Y */
unsigned int threshold_uv;/* [intensity] Motion sensitivity for U/V */
};
/*
* Contains num_elements values of type unsigned int.
* The data pointer is a DDR pointer (virtual address).
*/
struct atomisp_histogram {
unsigned int num_elements;
void __user *data;
};
enum atomisp_ob_mode {
atomisp_ob_mode_none,
atomisp_ob_mode_fixed,
atomisp_ob_mode_raster
};
/* Optical black level configuration */
struct atomisp_ob_config {
/* Optical black level mode (Fixed / Raster) */
enum atomisp_ob_mode mode;
/* [intensity] optical black level for GR (relevant for fixed mode) */
unsigned int level_gr;
/* [intensity] optical black level for R (relevant for fixed mode) */
unsigned int level_r;
/* [intensity] optical black level for B (relevant for fixed mode) */
unsigned int level_b;
/* [intensity] optical black level for GB (relevant for fixed mode) */
unsigned int level_gb;
/* [BQ] 0..63 start position of OB area (relevant for raster mode) */
unsigned short start_position;
/* [BQ] start..63 end position of OB area (relevant for raster mode) */
unsigned short end_position;
};
/* Edge enhancement (sharpen) configuration */
struct atomisp_ee_config {
/* [gain] The strength of sharpness. u5_11 */
unsigned int gain;
/* [intensity] The threshold that divides noises from edge. u8_8 */
unsigned int threshold;
/* [gain] The strength of sharpness in pell-mell area. u5_11 */
unsigned int detail_gain;
};
struct atomisp_3a_output {
int ae_y;
int awb_cnt;
int awb_gr;
int awb_r;
int awb_b;
int awb_gb;
int af_hpf1;
int af_hpf2;
};
enum atomisp_calibration_type {
calibration_type1,
calibration_type2,
calibration_type3
};
struct atomisp_gc_config {
__u16 gain_k1;
__u16 gain_k2;
};
struct atomisp_3a_config {
unsigned int ae_y_coef_r; /* [gain] Weight of R for Y */
unsigned int ae_y_coef_g; /* [gain] Weight of G for Y */
unsigned int ae_y_coef_b; /* [gain] Weight of B for Y */
unsigned int awb_lg_high_raw; /* [intensity] AWB level gate high for raw */
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct atomisp_nr_config`, `struct atomisp_tnr_config`, `struct atomisp_histogram`, `struct atomisp_ob_config`, `struct atomisp_ee_config`, `struct atomisp_3a_output`, `struct atomisp_gc_config`, `struct atomisp_3a_config`, `struct atomisp_dvs_grid_info`, `struct atomisp_dvs_envelop`.
- 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.