STRUCT DPU_HW_DSC_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct dpu_hw_dsc_ops(9) πŸ¦‹

okay so this is from the Kernel API Manual, bestie, and it's literally the whole interface to the dsc hardware driver functions πŸ’…


✨ NAME ✨

struct dpu_hw_dsc_ops β€” the interface to the dsc hardware driver functions, fr fr. and the assumption baked in here? these functions get called after the clocks are enabled 😌 like, clocks on first, then we talk. no cap.


🌸 SYNOPSIS 🌸

struct dpu_hw_dsc_ops {
    void (*dsc_disable)(struct dpu_hw_dsc *hw_dsc);
    void (*dsc_config)(struct dpu_hw_dsc *hw_dsc, struct drm_dsc_config
*dsc, u32 mode, u32 initial_lines);
    void (*dsc_config_thresh)(struct dpu_hw_dsc *hw_dsc, struct
drm_dsc_config *dsc);
    void (*dsc_bind_pingpong_blk)(struct dpu_hw_dsc *hw_dsc, enum
dpu_pingpong pp);
 };

πŸŽ€ Members πŸŽ€

  • dsc_disable β€” disables dsc πŸ’€ and yeah, hw_dsc is the pointer to the dsc context, obviously.
  • dsc_config β€” configures the dsc encoder, slay ✨ hw_dsc is the pointer to the dsc context, dsc is the panel dsc parameters, mode is the dsc topology mode to be set, and initial_lines is the amount of initial lines to be used. so many little details and we love that for us 🫢
  • dsc_config_thresh β€” programs the panel thresholds πŸ‘‘ hw_dsc is the pointer to the dsc context, dsc is the panel dsc parameters.
  • dsc_bind_pingpong_blk β€” binds pixel output from a DSC block to a pingpong block πŸ¦‹ like matchmaking but for hardware blocks, iykyk.

🌈 SEE ALSO 🌈

Kernel file ./drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h β€” go read it, bestie, it's giving main character energy πŸ“–πŸ’–


and that's the whole vibe check, babe πŸ’œ this lil page came from ./drivers/gpu/drm/msm/disp/dpu1, dated October 2026, and it's filed under struct dpu_hw_dsc_ops(9) β€” periodt πŸŽ€βœ¨πŸ”₯

πŸ“¦ where this page comes from