STRUCT DPU_DRM_DE_V1(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct dpu_drm_de_v1(9) β€” the glow-up page

okay so bestie, welcome to the Kernel API Manual, section 9, and today's main character is struct dpu_drm_de_v1 β€” literally version 1 of the detail enhancer structure ✨ ngl it's giving "glow-up settings but make it silicon."


🌸 NAME 🌸

struct dpu_drm_de_v1 β€” version 1 of detail enhancer structure. that's it, that's the whole vibe πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

here's the whole struct, copied exactly, no cap, character for character:

struct dpu_drm_de_v1 {
    uint32_t enable;
    int16_t sharpen_level1;
    int16_t sharpen_level2;
    uint16_t clip;
    uint16_t limit;
    uint16_t thr_quiet;
    uint16_t thr_dieout;
    uint16_t thr_low;
    uint16_t thr_high;
    uint16_t prec_shift;
    int16_t adjust_a[DPU_MAX_DE_CURVES];
    int16_t adjust_b[DPU_MAX_DE_CURVES];
    int16_t adjust_c[DPU_MAX_DE_CURVES];
 };

look at her. iconic. every field has a job and every job has a field 🫢


πŸ¦‹ Members πŸ¦‹

okay field-by-field, let's go, keep up πŸ’«

  • enable β€” turns the detail enhancer on and off, your basic on/off bestie
  • sharpen_level1 β€” the sharpening strength for noise πŸ‘€
  • sharpen_level2 β€” the sharpening strength for context, yes there are two, no they are not the same
  • clip β€” the clip coefficient
  • limit β€” the detail enhancer limit factor
  • thr_quiet β€” the quite zone threshold (that's how it's spelled in the original, keeping it πŸ’€)
  • thr_dieout β€” the die-out zone threshold
  • thr_low β€” the linear zone left threshold
  • thr_high β€” the linear zone right threshold
  • prec_shift β€” the detail enhancer precision
  • adjust_a β€” mapping curves A coefficients, an array of DPU_MAX_DE_CURVES of int16_t
  • adjust_b β€” mapping curves B coefficients, also DPU_MAX_DE_CURVES of int16_t
  • adjust_c β€” mapping curves C coefficients, you guessed it, DPU_MAX_DE_CURVES of int16_t

the three adjust_ arrays are all int16_t[DPU_MAX_DE_CURVES] in case you were wondering β€” A, B, and C, all accounted for, all slaying 🌈


πŸ”₯ SEE ALSO πŸ”₯

go read these next, iykyk, the lore is deep:

  • Kernel file ./drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h struct dpu_hw_blk(9)
  • struct dpu_hw_scaler3_de_cfg(9)
  • struct dpu_hw_scaler3_cfg(9)
  • struct dpu_drm_pix_ext_v1(9)
  • struct dpu_drm_scaler_v2(9)
  • struct dpu_hw_qos_cfg(9)

ok that's the whole page, you read it, you understood it, i'm so proud of you πŸ˜­πŸ’–

and finally, the cute sign-off: this little masterpiece lives in ./drivers/gpu/drm/msm/disp/dpu1, it's dated October 2026, and it's filed under struct dpu_drm_de_v1(9) in the Kernel API Manual. periodt. πŸ‘‘

πŸ“¦ where this page comes from