ENUM DRM_DP_QUIRK(9)
π 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 attributesMvidandNvidbeing anything bigger than 16 bits, so we just hand it a constant value of0x8000for 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 setsSINK_COUNTto a non-zero value, so the driver should just ignoreSINK_COUNTduring detection. ngl the nicest part:drm_dp_read_sink_count_capautomatically 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 (multiplier0xc) even though theDP_MAX_LINK_RATEregister 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 π¦
- Kernel file
./include/drm/display/drm_dp_helper.hstruct drm_dp_vsc_sdp(9)struct drm_dp_as_sdp(9)drm_dp_dsc_sink_supports_format(9)drm_edp_backlight_supported(9)drm_dp_is_uhbr_rate(9)struct drm_dp_aux_msg(9)struct drm_dp_aux_cec(9)struct drm_dp_aux(9)drm_dp_dpcd_readb(9)drm_dp_dpcd_read_data(9)drm_dp_dpcd_write_data(9)drm_dp_dpcd_writeb(9)drm_dp_dpcd_read_byte(9)drm_dp_dpcd_write_byte(9)struct drm_dp_desc(9)drm_dp_has_quirk(9)struct drm_edp_backlight_info(9)struct drm_dp_phy_test_params(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms