STRUCT DUP_BLOCK_CTX(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to the struct dup_block_ctx(9) page from the Kernel API Manual. This struct is literally the context to initialize unit instances across multiple blocks, where block can be either a dcore of duplicated common module. the way that this code works is by relying on constant offsets of blocks and unit instances in a block β€” no cap, that's the whole vibe. ✨


✨ SYNOPSIS ✨

struct dup_block_ctx {
    void (*instance_cfg_fn)(struct hl_device *hdev, u64 base, void *data);
    void *data;
    u64 base;
    u64 block_off;
    u64 instance_off;
    u64 enabled_mask;
    unsigned int blocks;
    unsigned int instances;
};

🫢 Members 🫢

bestie, here's the member-by-member vibe check β€” every field is carrying its own main character energy:

  • instance_cfg_fn β€” the instance-specific configuration function. iconic little callback behavior.
  • data β€” private configuration data. your own little stash, iykyk.
  • base β€” base address of the first instance in the first block.
  • block_off β€” subsequent blocks address spacing.
  • instance_off β€” subsequent block's instances address spacing.
  • enabled_mask β€” mask of enabled instances (1- enabled, 0- disabled). periodt.
  • blocks β€” number of blocks.
  • instances β€” unit instances per block.

🌈 SEE ALSO 🌈

Kernel file ./drivers/accel/habanalabs/gaudi2/gaudi2P.h, struct gaudi2_queues_test_info(9), struct gaudi2_device(9). go check those out, fr fr πŸ¦‹


xoxo bestie, source/version is ./drivers/accel/habanalabs/gaudi2 and the date is October 2026 πŸ’œ

πŸ“¦ where this page comes from