STRUCT FIMC_LITE(9)
π struct fimc_lite(9) π
okay bestie, welcome to the Kernel API Manual β¨ β today we're getting deep into the fimc lite structure and honestly? it's giving main character energy for the whole Exynos camera pipeline πΈπ
π SYNOPSIS π
like, here's the whole vibe of the struct, character for character, no notes:
struct fimc_lite {
struct platform_device *pdev;
struct flite_drvdata *dd;
struct exynos_video_entity ve;
struct v4l2_device *v4l2_dev;
struct v4l2_fh fh;
struct v4l2_subdev subdev;
struct media_pad vd_pad;
struct media_pad subdev_pads[FLITE_SD_PADS_NUM];
struct v4l2_subdev *sensor;
struct v4l2_ctrl_handler ctrl_handler;
struct v4l2_ctrl *test_pattern;
int index;
struct mutex lock;
spinlock_t slock;
struct clk *clock;
void __iomem *regs;
wait_queue_head_t irq_queue;
unsigned long payload[FLITE_MAX_PLANES];
struct flite_frame inp_frame;
struct flite_frame out_frame;
atomic_t out_path;
unsigned int source_subdev_grp_id;
unsigned long state;
struct list_head pending_buf_q;
struct list_head active_buf_q;
struct vb2_queue vb_queue;
unsigned short buf_index;
unsigned int frame_count;
unsigned int reqbufs_count;
struct fimc_lite_events events;
bool streaming;
};
π Members π
pdevβ pointer to the FIMC-LITE platform device π«Άddβ the SoC specific driver data structure, iykykveβ exynos video device entity structure β¨v4l2_devβ pointer to top the levelv4l2_device(yes, "top the level", that's what it says, periodt)fhβ v4l2 file handle π«subdevβ the FIMC-LITE subdev πvd_padβ media (sink) pad for the capture video nodesubdev_padsβ the subdev media pads, plural, we love an arraysensorβ sensor subdev attached to FIMC-LITE directly or through MIPI-CSIS π·ctrl_handlerβ v4l2 control handler ποΈtest_patternβ test pattern controls π§ͺindexβ FIMC-LITE platform device indexlockβ mutex serializing video device and the subdev operations πslockβ spinlock protecting this data structure and the hw registers, no cap, it's doing the mostclockβ FIMC-LITE gate clock β°regsβ memory mapped io registersirq_queueβ interrupt handler waitqueue π΄ (it waits, respectfully)payloadβ image size in bytes (w x h x bpp) πinp_frameβ camera input frame structure π¬out_frameβ DMA output frame structure π€out_pathβ output data path (DMA or FIFO)source_subdev_grp_idβ source subdev group id πstateβ driver state flags π©pending_buf_qβ pending buffers queue headactive_buf_qβ the queue head of buffers scheduled in hardware π₯vb_queueβ vb2 buffers queue πbuf_indexβ helps to keep track of the DMA start address register indexframe_countβ the captured frames counter π’reqbufs_countβ the number of buffers requested withREQBUFSioctleventsβ event info πstreamingβ is streaming in progress? literally the whole question π
π¦ SEE ALSO π¦
- Kernel file
./drivers/media/platform/samsung/exynos4-is/fimc-lite.hπ struct flite_drvdata(9),struct flite_frame(9),struct flite_buffer(9)β go read these next bestie, they're iconic π
and that's the tea βπ this page came from ./drivers/media/platform/samsu... and it's dated October 2026, so like, future vibes only πΈπ«Ά slay, and remember: know your structs, know yourself β¨π
π¦ 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