STRUCT FIMC_IS(9)
β¨ struct fimc_is(9) β¨
okay bestie, so this is the struct fimc_is page from the Linux Kernel API Manual, and it's literally the blueprint for the fimc-is data structure β the main character energy of the whole Exynos image signal processor situation π
no cap, it's a lot, but we're gonna get through it together fr fr.
π SYNOPSIS π
like, here's the whole struct, character for character, iconic behavior only:
struct fimc_is {
struct platform_device *pdev;
struct v4l2_device *v4l2_dev;
struct fimc_is_firmware fw;
struct fimc_is_memory memory;
struct fimc_isp isp;
struct fimc_is_sensor sensor[FIMC_IS_SENSORS_NUM];
struct fimc_is_setfile setfile;
struct v4l2_ctrl_handler ctrl_handler;
struct mutex lock;
spinlock_t slock;
struct clk *clocks[ISS_CLKS_MAX];
void __iomem *regs;
void __iomem *pmu_regs;
int irq;
wait_queue_head_t irq_queue;
u8 lpm;
unsigned long state;
unsigned int sensor_index;
struct i2h_cmd i2h_cmd;
struct h2i_cmd h2i_cmd;
struct is_fd_result_header fd_header;
struct chain_config config[IS_SC_MAX];
unsigned config_index;
struct is_region *is_p_region;
dma_addr_t is_dma_p_region;
struct is_share_region *is_shared_region;
struct is_af_info af;
struct dentry *debugfs_entry;
};
πΈ MEMBERS πΈ
okay so every single field is getting its moment, no skipping, periodt:
pdevβ pointer to the FIMC-IS platform device π«Άv4l2_devβ pointer to the top levelv4l2_device, the big boss vibefwβ data structure describing the FIMC-IS firmware binary, like its whole little resumememoryβ memory region assigned for the FIMC-IS (firmware) β it's giving allocated realnessispβ the ISP block data structure, lowkey the star of the showsensorβ fimc-is sensor subdevice array, besties in formation β¨setfileβ descriptor of the imaging pipeline calibration data, the fine-tuning eractrl_handlerβ the v4l2 controls handler, keeping everything in checklockβ mutex serializing video device and the subdev operations, so nobody talks over each other πslockβ spinlock protecting this data structure and the hw registers, tiny but fierceclocksβ FIMC-LITE gate clock πregsβ MCUCTL mmapped registers regionpmu_regsβ PMU ISP mmapped registers regionirqβ FIMC-IS interrupt, the notification queenirq_queueβ interrupt handling waitqueue, where the interrupts line up patientlylpmβ low power mode flag, sleepy girl era π΄stateβ internal driver's state flagssensor_indexβ image sensor index for the firmware, like a little ID cardi2h_cmdβ FIMC-IS to the host (CPU) mailbox command data structure, sending messages home π¦h2i_cmdβ the host (CPU) to FIMC-IS mailbox command data structure, messages coming infd_headerβ the face detection result data structure, it sees you πconfigβ shared HW pipeline configuration dataconfig_indexβ index to the config entry currently in use, main character of the config momentis_p_regionβ pointer to the shared parameter memory regionis_dma_p_regionβ DMA address of the shared parameter memory regionis_shared_regionβ pointer to the IS shared region data structureafβ auto focus data, stay focused bestie π―debugfs_entryβ debugfs entry for the firmware log, the receipts π
π₯ SEE ALSO π₯
- Kernel file
./drivers/media/platform/samsung/exynos4-is/fimc-is.hβ go read it, iykyk
that's the whole thing, bestie! this page is from the ./drivers/media/platform/samsung/exynos4-is/fimc-is.h corner of the kernel and it's dated October 2026, struct fimc_is(9) era β slay, you made it to the end ππβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms