STRUCT FIMC_ISP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct_fimc_isp(9) β€” the FIMC-IS ISP data structure πŸ¦‹

okay bestie, so this is straight out of the Kernel API Manual (section 9, kernel space, no cap) and it's literally the glow-up blueprint for struct fimc_isp, the FIMC-IS ISP data structure. think of it as the main character's whole personality laid out in C. πŸ’…


✨ SYNOPSIS ✨

here's the whole fit, verbatim, not a single field out of place:

struct fimc_isp {
    struct platform_device          *pdev;
    struct v4l2_subdev              subdev;
    struct media_pad                subdev_pads[FIMC_ISP_SD_PADS_NUM];
    struct v4l2_mbus_framefmt       src_fmt;
    struct v4l2_mbus_framefmt       sink_fmt;
    struct v4l2_ctrl                *test_pattern;
    struct fimc_isp_ctrls           ctrls;
    struct mutex                    video_lock;
    struct mutex                    subdev_lock;
    unsigned int                    cac_margin_x;
    unsigned int                    cac_margin_y;
    unsigned long                   state;
    struct fimc_is_video            video_capture;
};

like, look at her. she's beautiful. πŸŽ€


🌸 Members 🌸

okay so let's meet the cast, member by member, no one gets skipped:

  • pdev β€” pointer to the FIMC-IS platform device. the anchor, the origin story.
  • subdev β€” the ISP v4l2_subdev. iconic V4L2 representation.
  • subdev_pads β€” the ISP subdev media pads. it's an array, [FIMC_ISP_SD_PADS_NUM] of them, and that number is literally in the synopsis so don't come for me.
  • src_fmt β€” source mediabus format. where the pixels are coming from, iykyk.
  • sink_fmt β€” sink mediabus format. where they're going. the destination vibe.
  • test_pattern β€” test pattern controls. yes, a struct v4l2_ctrl *, yes it's a pointer, and yes we stan a debugging feature.
  • ctrls β€” the struct fimc_isp_ctrls v4l2 controls structure. all the knobs live here.
  • video_lock β€” a struct mutex that serializes video device operations. one at a time, bestie, please. πŸ”’
  • subdev_lock β€” a struct mutex that serializes subdev operations. same energy, different lock.
  • cac_margin_x β€” horizontal CAC margin in pixels. an unsigned int, obviously.
  • cac_margin_y β€” vertical CAC margin in pixels. the y-axis twin of the line above. 🫢
  • state β€” driver state flags, chillin' as an unsigned long.
  • video_capture β€” the ISP block video capture device, a struct fimc_is_video. the whole reason we're here tbh. πŸ“Έ

πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./drivers/media/platform/samsung/exynos4-is/fimc-isp.h β€” go read the source, that's where the lore lives
  • struct fimc_isp_frame(9)
  • struct fimc_is_video(9)

and that's the whole page, periodt. πŸ’– shoutout to the source ./drivers/media/platform/samsu... and the October 2026 date, and of course to struct fimc_isp(9) herself β€” see you in the kernel, bestie. πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from