drivers/staging/media/atomisp/pci/ia_css_isp_params.c
Source file repositories/reference/linux-study-clean/drivers/staging/media/atomisp/pci/ia_css_isp_params.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/atomisp/pci/ia_css_isp_params.c- Extension
.c- Size
- 98138 bytes
- Lines
- 3336
- 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
sh_css_params.hisp/kernels/aa/aa_2/ia_css_aa2.host.hisp/kernels/anr/anr_1.0/ia_css_anr.host.hisp/kernels/anr/anr_2/ia_css_anr2.host.hisp/kernels/bh/bh_2/ia_css_bh.host.hisp/kernels/bnr/bnr_1.0/ia_css_bnr.host.hisp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.hisp/kernels/cnr/cnr_2/ia_css_cnr2.host.hisp/kernels/crop/crop_1.0/ia_css_crop.host.hisp/kernels/csc/csc_1.0/ia_css_csc.host.hisp/kernels/ctc/ctc_1.0/ia_css_ctc.host.hisp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.hisp/kernels/ctc/ctc2/ia_css_ctc2.host.hisp/kernels/de/de_1.0/ia_css_de.host.hisp/kernels/de/de_2/ia_css_de2.host.hisp/kernels/dp/dp_1.0/ia_css_dp.host.hisp/kernels/fixedbds/fixedbds_1.0/ia_css_fixedbds_param.hisp/kernels/fpn/fpn_1.0/ia_css_fpn.host.hisp/kernels/gc/gc_1.0/ia_css_gc.host.hisp/kernels/gc/gc_2/ia_css_gc2.host.hisp/kernels/macc/macc_1.0/ia_css_macc.host.hisp/kernels/macc/macc1_5/ia_css_macc1_5.host.hisp/kernels/ob/ob_1.0/ia_css_ob.host.hisp/kernels/ob/ob2/ia_css_ob2.host.hisp/kernels/output/output_1.0/ia_css_output.host.hisp/kernels/raw_aa_binning/raw_aa_binning_1.0/ia_css_raa.host.hisp/kernels/s3a/s3a_1.0/ia_css_s3a.host.hisp/kernels/sc/sc_1.0/ia_css_sc.host.hisp/kernels/sdis/sdis_1.0/ia_css_sdis.host.hisp/kernels/sdis/sdis_2/ia_css_sdis2.host.hisp/kernels/tnr/tnr_1.0/ia_css_tnr.host.hisp/kernels/uds/uds_1.0/ia_css_uds_param.h
Detected Declarations
function Copyrightfunction ia_css_process_anrfunction ia_css_process_anr2function ia_css_process_bhfunction ia_css_process_cnrfunction ia_css_process_cropfunction ia_css_process_cscfunction ia_css_process_dpfunction ia_css_process_bnrfunction ia_css_process_defunction ia_css_process_ecdfunction ia_css_process_formatsfunction ia_css_process_fpnfunction ia_css_process_gcfunction ia_css_process_cefunction ia_css_process_yuv2rgbfunction ia_css_process_rgb2yuvfunction ia_css_process_r_gammafunction ia_css_process_g_gammafunction ia_css_process_b_gammafunction ia_css_process_udsfunction ia_css_process_raafunction ia_css_process_s3afunction ia_css_process_obfunction ia_css_process_outputfunction ia_css_process_scfunction ia_css_process_bdsfunction ia_css_process_tnrfunction ia_css_process_maccfunction ia_css_process_sdis_horicoeffunction ia_css_process_sdis_vertcoeffunction ia_css_process_sdis_horiprojfunction ia_css_process_sdis_vertprojfunction ia_css_process_sdis2_horicoeffunction ia_css_process_sdis2_vertcoeffunction ia_css_process_sdis2_horiprojfunction ia_css_process_sdis2_vertprojfunction ia_css_process_wbfunction ia_css_process_nrfunction ia_css_process_yeefunction ia_css_process_ynrfunction ia_css_process_fcfunction ia_css_process_ctcfunction ia_css_process_xnr_tablefunction ia_css_process_xnrfunction ia_css_process_xnr3function ia_css_get_dp_configfunction ia_css_set_dp_config
Annotated Snippet
if (size) {
ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
"ia_css_process_anr() enter:\n");
ia_css_anr_encode((struct sh_css_isp_anr_params *)
&stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
¶ms->anr_config,
size);
params->isp_params_changed = true;
params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
true;
ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
"ia_css_process_anr() leave:\n");
}
}
}
/* Code generated by genparam/gencode.c:gen_process_function() */
static void
ia_css_process_anr2(
unsigned int pipe_id,
const struct ia_css_pipeline_stage *stage,
struct ia_css_isp_parameters *params)
{
assert(params);
{
unsigned int size =
stage->binary->info->mem_offsets.offsets.param->vmem.anr2.size;
unsigned int offset =
stage->binary->info->mem_offsets.offsets.param->vmem.anr2.offset;
if (size) {
ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
"ia_css_process_anr2() enter:\n");
ia_css_anr2_vmem_encode((struct ia_css_isp_anr2_params *)
&stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset],
¶ms->anr_thres,
size);
params->isp_params_changed = true;
params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] =
true;
ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
"ia_css_process_anr2() leave:\n");
}
}
}
/* Code generated by genparam/gencode.c:gen_process_function() */
static void
ia_css_process_bh(
unsigned int pipe_id,
const struct ia_css_pipeline_stage *stage,
struct ia_css_isp_parameters *params)
{
assert(params);
{
unsigned int size =
stage->binary->info->mem_offsets.offsets.param->dmem.bh.size;
unsigned int offset =
stage->binary->info->mem_offsets.offsets.param->dmem.bh.offset;
if (size) {
ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_bh() enter:\n");
ia_css_bh_encode((struct sh_css_isp_bh_params *)
&stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
¶ms->s3a_config,
size);
params->isp_params_changed = true;
params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
true;
ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_bh() leave:\n");
}
}
{
unsigned int size =
stage->binary->info->mem_offsets.offsets.param->hmem0.bh.size;
if (size) {
ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_bh() enter:\n");
Annotation
- Immediate include surface: `sh_css_params.h`, `isp/kernels/aa/aa_2/ia_css_aa2.host.h`, `isp/kernels/anr/anr_1.0/ia_css_anr.host.h`, `isp/kernels/anr/anr_2/ia_css_anr2.host.h`, `isp/kernels/bh/bh_2/ia_css_bh.host.h`, `isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.h`, `isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.h`, `isp/kernels/cnr/cnr_2/ia_css_cnr2.host.h`.
- Detected declarations: `function Copyright`, `function ia_css_process_anr`, `function ia_css_process_anr2`, `function ia_css_process_bh`, `function ia_css_process_cnr`, `function ia_css_process_crop`, `function ia_css_process_csc`, `function ia_css_process_dp`, `function ia_css_process_bnr`, `function ia_css_process_de`.
- 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.