STRUCT HANTRO_VARIANT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct hantro_variant(9) πŸ’…

hey bestie!! welcome to the Kernel API Manual page for struct hantro_variant(9) β€” the little info card that gives you information about VPU hardware variant. no cap, it’s giving hardware-variant lore and we’re here for it. 🫢


πŸŽ€ NAME πŸŽ€

struct hantro_variant β€” information about VPU hardware variant. that’s the whole vibe: this struct is the info card for the VPU hardware variant. ✨

🌸 SYNOPSIS 🌸

struct hantro_variant {
    unsigned int enc_offset;
    unsigned int dec_offset;
    const struct hantro_fmt *enc_fmts;
    unsigned int num_enc_fmts;
    const struct hantro_fmt *dec_fmts;
    unsigned int num_dec_fmts;
    const struct hantro_fmt *postproc_fmts;
    unsigned int num_postproc_fmts;
    const struct hantro_postproc_ops *postproc_ops;
    unsigned int codec;
    const struct hantro_codec_ops *codec_ops;
    int (*init)(struct hantro_dev *vpu);
    int (*runtime_resume)(struct hantro_dev *vpu);
    const struct hantro_irq *irqs;
    int num_irqs;
    const char * const *clk_names;
    int num_clocks;
    const char * const *reg_names;
    int num_regs;
    unsigned int double_buffer : 1;
    unsigned int legacy_regs : 1;
    unsigned int late_postproc : 1;
    const struct of_device_id *shared_devices;
};

okay now the glow-up tour of every single member, bestie β€” nothing skipped, periodt: πŸ’…

🫢 Members 🫢

  • enc_offset β€” offset from VPU base to encoder registers. it’s the encoder’s little address home. πŸŽ€
  • dec_offset β€” offset from VPU base to decoder registers. decoder address energy. πŸ¦‹
  • enc_fmts β€” encoder formats. the encoder’s format lineup. ✨
  • num_enc_fmts β€” number of encoder formats. literally the count for enc_fmts. πŸ”’
  • dec_fmts β€” decoder formats. the decoder’s format lineup. 🌸
  • num_dec_fmts β€” number of decoder formats. the count for dec_fmts. πŸ”’
  • postproc_fmts β€” post-processor formats. post-processor format lineup, slay. πŸ’–
  • num_postproc_fmts β€” number of post-processor formats. the count for postproc_fmts. πŸ”’
  • postproc_ops β€” post-processor ops. the post-processor’s ops. πŸ› οΈ
  • codec β€” supported codecs. that’s the codec support field. πŸ‘‘
  • codec_ops β€” codec ops. codec operation energy. πŸ”₯
  • init β€” initialize hardware, optional. optional, so don’t assume it’s always there. πŸ™ˆ
  • runtime_resume β€” reenable hardware after power gating, optional. also optional, bestie. ⚑
  • irqs β€” array of irq names and interrupt handlers. interrupt-handler array vibes. πŸ’€
  • num_irqs β€” number of irqs in the array. the count for irqs. πŸ”’
  • clk_names β€” array of clock names. clock-name array energy. πŸ•°οΈ
  • num_clocks β€” number of clocks in the array. the count for clk_names. πŸ”’
  • reg_names β€” array of register range names. register-range-name array. πŸ—‚οΈ
  • num_regs β€” number of register range names in the array. the count for reg_names. πŸ”’
  • double_buffer β€” core needs double buffering. the core said double-buffer era. πŸŽ€
  • legacy_regs β€” core uses legacy register set. legacy register set, noted. 🧚
  • late_postproc β€” postproc must be set up at the end of the job. setup happens at the end, periodt. ⏰
  • shared_devices β€” an array of device ids that cannot run concurrently. they cannot run concurrently, no cap. 🚫

πŸ’« SEE ALSO πŸ’«

go peek at these, bestie β€” they’re the extended universe: 🌈

  • Kernel file ./drivers/media/platform/verisilicon/hantro.h
  • struct hantro_irq(9)
  • enum hantro_codec_mode(9)
  • struct hantro_dev(9)
  • struct hantro_ctx(9)
  • struct hantro_fmt(9)
  • hantro_debug: Module parameter to control level of debugging messages.(9)

that’s the page, bestie!! πŸ’– source/version is ./drivers/media/platform/veris... and the date is October 2026 β€” mwah, slay, bye! πŸ‘‘

πŸ“¦ where this page comes from