STRUCT DPU_HW_VBIF_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct dpu_hw_vbif_ops β€” Kernel API Manual πŸŽ€

okay so bestie, welcome to the glow-up era of struct dpu_hw_vbif_ops, your fave little interface to the VBIF hardware driver functions ✨ And before you do literally anything, the vibe check rule: these functions are assumed to be called after clocks are enabled. That's the whole prerequisite. Don't come for her before the clocks are on, fr fr πŸ’€


✨ SYNOPSIS ✨

struct dpu_hw_vbif_ops {
    void (*set_limit_conf)(struct dpu_hw_vbif *vbif, u32 xin_id, bool rd, u32 limit);
    u32 (*get_limit_conf)(struct dpu_hw_vbif *vbif, u32 xin_id, bool rd);
    void (*set_halt_ctrl)(struct dpu_hw_vbif *vbif, u32 xin_id, bool enable);
    bool (*get_halt_ctrl)(struct dpu_hw_vbif *vbif, u32 xin_id);
    void (*set_qos_remap)(struct dpu_hw_vbif *vbif, u32 xin_id, u32 level, u32 remap_level);
    void (*set_mem_type)(struct dpu_hw_vbif *vbif, u32 xin_id, u32 value);
    void (*clear_errors)(struct dpu_hw_vbif *vbif, u32 *pnd_errors, u32 *src_errors);
    void (*set_write_gather_en)(struct dpu_hw_vbif *vbif, u32 xin_id);
};

πŸ‘― MEMBERS πŸ‘―

πŸ“ set_limit_conf

set transaction limit config πŸ’–

  • vbif β€” vbif context driver
  • xin_id β€” client interface identifier
  • rd β€” true for read limit; false for write limit
  • limit β€” outstanding transaction limit

🌸 get_limit_conf

get transaction limit config, she's giving read-only main character energy πŸ‘‘

  • vbif β€” vbif context driver
  • xin_id β€” client interface identifier
  • rd β€” true for read limit; false for write limit
  • return: outstanding transaction limit

πŸ¦‹ set_halt_ctrl

set halt control ⭐

  • vbif β€” vbif context driver
  • xin_id β€” client interface identifier
  • enable β€” halt control enable

πŸŽ€ get_halt_ctrl

get halt control (the little peek πŸ‘€)

  • vbif β€” vbif context driver
  • xin_id β€” client interface identifier
  • return: halt control enable

πŸ’œ set_qos_remap

set QoS priority remap, priorities getting a whole makeover πŸ’…

  • vbif β€” vbif context driver
  • xin_id β€” client interface identifier
  • level β€” priority level
  • remap_level β€” remapped level

🌈 set_mem_type

set memory type, iconic behaviour honestly

  • vbif β€” vbif context driver
  • xin_id β€” client interface identifier
  • value β€” memory type value

πŸ”₯ clear_errors

clear any vbif errors 🧹✨ This function clears any detected pending/source errors on the VBIF interface, and optionally returns the detected error mask(s).

  • vbif β€” vbif context driver
  • pnd_errors β€” pointer to pending error reporting variable
  • src_errors β€” pointer to source error reporting variable
lowkey important: those two are pointers, so the errors get reported back out through them β€” optionally, no cap 🫢

🧚 set_write_gather_en

set write_gather enable πŸ’«

  • vbif β€” vbif context driver
  • xin_id β€” client interface identifier

πŸ” SEE ALSO πŸ”

  • Kernel file ./drivers/gpu/drm/msm/disp/dpu1/dpu_hw_vbif.h

that's the whole page bestie, go slay πŸ’–

sign-off time: this lil masterpiece lives in ./drivers/gpu/drm/msm/disp/dpu1, dated October 2026, and it's page struct dpu_hw_vbif_ops(9) of the Kernel API Manual πŸ¦‹ mwah, periodt βœ¨πŸŽ€

πŸ“¦ where this page comes from