ENUM DRM_DP_QUIRK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum drm_dp_quirk(9) β€” the DRM DisplayPort quirk squad

okay so bestie, welcome to enum drm_dp_quirk(9) from the Kernel API Manual β€” it's literally the "Display Port sink/branch device specific quirks" list. These are the little gremlin behaviours that real-world DisplayPort hardware shows up with, and this enum is where the kernel writes them all down 🫢


✨ SYNOPSIS ✨

enum drm_dp_quirk {
    DP_DPCD_QUIRK_CONSTANT_N ,
    DP_DPCD_QUIRK_NO_PSR ,
    DP_DPCD_QUIRK_NO_SINK_COUNT ,
    DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD ,
    DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS ,
    DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC ,
    DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT

};

πŸ’– Constants πŸ’–

  • DP_DPCD_QUIRK_CONSTANT_N β€” this device literally cannot handle main link attributes Mvid and Nvid being anything bigger than 16 bits, so we just hand it a constant value of 0x8000 for compatability. iconic of it, honestly πŸ™ˆ
  • DP_DPCD_QUIRK_NO_PSR β€” the device does not support PSR, even if it's out here reporting that it does. or, alternately, the driver still needs to implement proper handling for a device like this. either way, no PSR for you πŸ’€
  • DP_DPCD_QUIRK_NO_SINK_COUNT β€” this one never sets SINK_COUNT to a non-zero value, so the driver should just ignore SINK_COUNT during detection. ngl the nicest part: drm_dp_read_sink_count_cap automatically checks for this quirk, so you don't have to. slay πŸŽ€
  • DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD β€” the device supports MST DSC despite not supporting Virtual DPCD. lowkey wild but the DSC caps can still be read from the physical aux instead. we work with what we've got ✨
  • DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS β€” the device supports a link rate of 3.24 Gbps (multiplier 0xc) even though the DP_MAX_LINK_RATE register reports a lower max multiplier. it's giving "lying on your resume" but make it hardware πŸ’…
  • DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC β€” the device applies HBLANK expansion for some modes, BUT that requires enabling DSC. conditional queen πŸ‘‘
  • DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT β€” the device doesn't support DSC decompression at the maximum DSC pixel throughput and compressed bpp it indicates via its DPCD DSC capabilities. so the compressed bpp has to be limited above a device specific DSC pixel throughput. main character energy with a hard cap πŸ”₯

🌸 Description 🌸

Display Port sink and branch devices out there in the wild have a whole variety of bugs 😭 so the move is: try to collect them all here. The quirks are shared, but it's up to the drivers to implement the workarounds for them. no cap β€” the enum is just the list, the actual labour is on the driver 🫢


πŸ¦‹ SEE ALSO πŸ¦‹


okay that's the whole page bestie, go forth and quirk responsibly πŸ§šβ€β™€οΈπŸ’œ

sign-off vibes: this beauty lives at ./include/drm/display and it's dated October 2026 β€” the source/version and date, mentioned as promised, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from