STRUCT DPU_HW_CTL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct dpu_hw_ctl(9) πŸ’–

okay so this is a page from the Kernel API Manual, and we're talking about struct dpu_hw_ctl β€” literally the CTL PATH driver object. bestie, it's giving main character energy for the display control path, and you're gonna understand it, periodt. πŸ’…


✨ NAME ✨

struct dpu_hw_ctl β€” CTL PATH driver object πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct dpu_hw_ctl {
    struct dpu_hw_blk base;
    struct dpu_hw_blk_reg_map hw;
    int idx;
    const struct dpu_ctl_cfg *caps;
    int mixer_count;
    const struct dpu_lm_cfg *mixer_hw_caps;
    u32 pending_flush_mask;
    u32 pending_intf_flush_mask;
    u32 pending_wb_flush_mask;
    u32 pending_cwb_flush_mask;
    u32 pending_periph_flush_mask;
    u32 pending_merge_3d_flush_mask;
    u32 pending_dspp_flush_mask[DSPP_MAX - DSPP_0];
    u32 pending_dsc_flush_mask;
    u32 pending_cdm_flush_mask;
    const struct dpu_mdss_version *mdss_ver;
    struct dpu_hw_ctl_ops ops;
 };

like, that's the whole vibe right there ✨ no cap, every field is in there, i didn't skip a single one 🫢


🌸 Members 🌸

so let's go through the members one by one, bestie, and i promise it's not as scary as it looks πŸ’œ

  • base β€” the hardware block base structure, like the foundation of the whole thing 🧱
  • hw β€” the block register map object, iykyk
  • idx β€” the control path index πŸ”’
  • caps β€” control path capabilities, the whole "what can she do" moment ✨
  • mixer_count β€” number of mixers, literally just the count πŸŽ€
  • mixer_hw_caps β€” mixer hardware capabilities
  • pending_flush_mask β€” storage for pending ctl_flush managed via ops πŸ‘‘
  • pending_intf_flush_mask β€” pending INTF flush
  • pending_wb_flush_mask β€” pending WB flush
  • pending_cwb_flush_mask β€” pending CWB flush
  • pending_periph_flush_mask β€” pending PERIPH flush
  • pending_merge_3d_flush_mask β€” pending MERGE 3D flush
  • pending_dspp_flush_mask β€” pending DSPP flush
  • pending_dsc_flush_mask β€” pending DSC flush
  • pending_cdm_flush_mask β€” pending CDM flush
  • mdss_ver β€” MDSS revision information, the receipts πŸ“‹
  • ops β€” operation list, the whole to-do list of the struct πŸ’…
ngl the flush mask squad is lowkey a lot, but they all live in their own lane and they all matter, so don't skip any of them fr fr πŸ™ˆ

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h enum dpu_ctl_mode_sel(9), struct dpu_hw_stage_cfg(9), struct dpu_hw_intf_cfg(9), struct dpu_hw_ctl_ops(9), to_dpu_hw_ctl(9) ⭐

go read those too, bestie, they're iconic and they're right there πŸ¦‹


and that's the whole page! πŸ“ this was written straight from <rainbow>./drivers/gpu/drm/msm/disp/dpu1</rainbow>, dated October 2026, and it's for struct dpu_hw_ctl(9) β€” slay, you made it to the end, so proud of you πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from