STRUCT FIMC_DRVDATA(9)
πΈ struct fimc_drvdata(9) β per device type driver data πΈ
okay so this is a page from the Kernel API Manual, and bestie, it's literally the little data bundle that says "here's what this particular type of device can do." one struct per device type, holding all the deets the driver needs. let's get into it π
β¨ NAME β¨
struct fimc_drvdata β per device type driver data. that's it, that's the vibe. it's the per-device-type info stash π
β¨ SYNOPSIS β¨
struct fimc_drvdata {
const struct fimc_variant *variant[FIMC_MAX_DEVS];
int num_entities;
unsigned long lclk_frequency;
u8 cistatus2;
u8 dma_pix_hoff;
u8 alpha_color;
u8 out_buf_count;
};
look at her. iconic. one array of variant pointers sized FIMC_MAX_DEVS, then a whole squad of little u8s doing their thing. no cap, she's compact π«Ά
β¨ Members β¨
so here's the member-by-member tour, and yes i'm giving each one its moment:
variantβ variant information for this device π like, which flavor of hardware are we even dealing withnum_entitiesβ the number of fimc instances available in a SoC. count 'em, bestielclk_frequencyβ local bus clock frequency β° the clock speed of the local bus, periodtcistatus2β1if the FIMC IPs have a CISTATUS2 register, otherwise not. that's the whole dealdma_pix_hoffβ the horizontal DMA offset unit:1means pixels,0means bytes. choose your fighter πalpha_colorβ1if the alpha color component is supported. transparency girlies rise πout_buf_countβ the maximum number of output DMA buffers supported. that's your ceiling, no going over π₯
quick vibe check: several of these are literally just1/0flags (cistatus2,dma_pix_hoff,alpha_color) β tiny fields, big responsibilities π
π SEE ALSO π
the kernel file that lives and breathes this:
Kernel file ./drivers/media/platform/samsung/exynos4-is/fimc-core.h
and the whole friend group of structs and functions you should also go read (iykyk):
struct fimc_dma_offset(9)struct fimc_effect(9)struct fimc_scaler(9)struct fimc_addr(9)struct fimc_vid_buffer(9)struct fimc_frame(9)struct fimc_m2m_device(9)struct fimc_vid_cap(9)struct fimc_pix_limit(9)struct fimc_variant(9)struct fimc_dev(9)struct fimc_ctrls(9)struct fimc_ctx(9)fimc_active_queue_add(9)fimc_active_queue_pop(9)fimc_pending_queue_add(9)fimc_pending_queue_pop(9)
aaaaand that's the page!! π¦ mwah. this lil rewrite came from the source ./drivers/media/platform/samsu... and it's dated October 2026 β so go forth and read the kernel headers, bestie, you've got this ππ
π¦ 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