STRUCT DPU_PINGPONG_CFG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay bestie so this is a page out of the Kernel API Manual and it's literally all about struct dpu_pingpong_cfg β€” the info squad for the PING-PONG blocks πŸ“βœ¨. Think of it as the little ID card every ping-pong block carries around, iykyk.

Two things got folded into the NAME up top and we are not dropping them, periodt:

  • @id β€” enum identifying this block πŸͺͺ
  • @base β€” register offset of this block πŸ“

✨ SYNOPSIS ✨

the shape of it, no cap:

struct dpu_pingpong_cfg {
    DPU_HW_BLK_INFO;
    u32 merge_3d;
    unsigned int intr_done;
    unsigned int intr_rdptr;
    const struct dpu_pingpong_sub_blks *sblk;
 };

note the DPU_HW_BLK_INFO; macro chilling at the top and merge_3d as a u32 β€” both iconic, both exactly as written 🫢


πŸŽ€ Members πŸŽ€

  • intr_done β€” the index for the PINGPONG done interrupt πŸ”” like, that's the one that tells you the block is done done.
  • intr_rdptr β€” the index for the PINGPONG readpointer done interrupt πŸ“– a whole separate interrupt index for when the readpointer finishes its thing.
  • sblk β€” sub-blocks information 🌸 a pointer to the sub-block details, main character energy for the little pieces inside.

πŸ’œ SEE ALSO πŸ’œ

Kernel file: ./drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h

and the whole friend group it runs with, fr fr β€” no skipping, all of them:

  • struct dpu_scaler_blk(9)
  • struct dpu_pp_blk(9)
  • struct dpu_dsc_blk(9)
  • struct dpu_sspp_v13_rec_blk(9)
  • enum dpu_qos_lut_usage(9)
  • struct dpu_qos_lut_entry(9)
  • struct dpu_qos_lut_tbl(9)
  • struct dpu_rotation_cfg(9)
  • struct dpu_caps(9)
  • struct dpu_sspp_sub_blks(9)
  • struct dpu_lm_sub_blks(9)
  • struct dpu_dspp_sub_blks(9)
  • struct dpu_dsc_sub_blks(9)
  • struct dpu_sspp_cfg(9)
  • struct dpu_lm_cfg(9)
  • struct dpu_dspp_cfg(9)
  • struct dpu_merge_3d_cfg(9)
  • struct dpu_dsc_cfg(9)
  • struct dpu_intf_cfg(9)
  • struct dpu_wb_cfg(9)
  • struct dpu_vbif_dynamic_ot_cfg(9)
  • struct dpu_vbif_dynamic_ot_tbl(9)
  • struct dpu_vbif_qos_tbl(9)
  • struct dpu_vbif_cfg(9)
  • struct dpu_cdm_cfg(9)
  • struct dpu_perf_cdp_cfg(9)
  • struct dpu_mdss_version(9)
  • struct dpu_perf_cfg(9)
  • struct dpu_mdss_cfg(9)

bestie reminder 🫢 this config struct is documented in the ./drivers/gpu/drm/msm/disp/dpu1 part of the tree β€” that's the vibe check on where it lives.

okay that's the whole page and we ate, genuinely πŸ’…βœ¨

── 🌈 sign-off 🌈 ──

this masterpiece dropped October 2026, straight out of ./drivers/gpu/drm/msm/disp/dpu1 β€” mwah, obsessed, take care of ur ping-pong blocks πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from