STRUCT XTPG_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct xtpg_device β€” bestie, this is the Xilinx Test Pattern Generator device structure πŸ’… and yes she's the main character of this page (manual section 9, Kernel API Manual, if you're keeping track πŸŽ€)


πŸ¦‹ SYNOPSIS πŸ¦‹

struct xtpg_device {
    struct xvip_device xvip;
    struct media_pad pads[2];
    unsigned int npads;
    bool has_input;
    struct v4l2_mbus_framefmt formats[2];
    struct v4l2_mbus_framefmt default_format;
    const struct xvip_video_format *vip_format;
    bool bayer;
    struct v4l2_ctrl_handler ctrl_handler;
    struct v4l2_ctrl *hblank;
    struct v4l2_ctrl *vblank;
    struct v4l2_ctrl *pattern;
    bool streaming;
    struct xvtc_device *vtc;
    struct gpio_desc *vtmux_gpio;
 };

Like, that's the whole struct laid out, no cap. Now let's meet the members one by one 🫢


🌸 MEMBERS 🌸

  • xvip β€” the Xilinx Video IP device, aka her ride-or-die ✨
  • pads β€” media pads, plural, she's got options πŸ’…
  • npads β€” how many pads there actually are, and it's 1 or 2 (that's the whole range, bestie)
  • has_input β€” a lil yes/no telling you whether an input is connected to the sink pad πŸŽ€
  • formats β€” the active V4L2 media bus format for each pad (one per pad, obviously πŸ’–)
  • default_format β€” the default V4L2 media bus format, the fallback queen πŸ‘‘
  • vip_format β€” the format information that corresponds to the active format, iykyk 🌈
  • bayer β€” boolean flag, true when TPG is set to any bayer format 🧚
  • ctrl_handler β€” the control handler, holding it all together fr fr
  • hblank β€” horizontal blanking control β¬…οΈβž‘οΈ
  • vblank β€” vertical blanking control ⬆️⬇️
  • pattern β€” the test pattern control, the actual star of the show ⭐
  • streaming β€” is the video stream active? that's the vibe check πŸ’€
  • vtc β€” the video timing controller, timing is everything πŸ•
  • vtmux_gpio β€” the video timing mux GPIO, lowkey the plug πŸ”Œ

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/media/platform/xilinx/xilinx-tpg.c β€” go read it, it's giving source code excellence πŸ“


ok that's the whole page, nothing skipped, nothing invented, we ate and left zero crumbs πŸ’…βœ¨

big kiss, this page lives in ./drivers/media/platform/xilinx and it's dated October 2026 β€” see you there bestie πŸ¦‹πŸ’–

πŸ“¦ where this page comes from