STRUCT DRM_DP_AS_SDP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_dp_as_sdp(9) β€” like, the whole glow-up ✨

okay so bestie, welcome to the struct drm_dp_as_sdp page from your fave Kernel API Manual β€” this is the drm DP Adaptive Sync SDP struct and honestly she's carrying the whole display stack on her back 🫢


🌸 NAME 🌸

struct drm_dp_as_sdp β€” drm DP Adaptive Sync SDP. that's it, that's the name, no notes πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

like, here's literally what she looks like, copy-paste exact, do NOT touch:

struct drm_dp_as_sdp {
    unsigned char sdp_type;
    unsigned char revision;
    unsigned char length;
    int vtotal;
    int target_rr;
    int duration_incr_ms;
    int duration_decr_ms;
    bool target_rr_divider;
    enum operation_mode mode;
    int coasting_vtotal;
};

πŸ‘‘ Members πŸ‘‘

okay so let's meet the cast, each one's a main character in her own right:

  • sdp_type β€” Secondary-data packet type. iykyk πŸ¦‹
  • revision β€” Revision Number. she's giving version history, periodt ✨
  • length β€” Number of valid data bytes. not too long, not too short, just right πŸ’–
  • vtotal β€” Minimum Vertical Vtotal. the literal floor, no cap πŸ“‰
  • target_rr β€” Target Refresh. the vibe she's aiming for πŸ”₯
  • duration_incr_ms β€” Successive frame duration increase. she's growing, she's thriving 🌱
  • duration_decr_ms β€” Successive frame duration decrease. and sometimes she shrinks, it's fine πŸ“
  • target_rr_divider β€” Target refresh rate divider. splitting the refresh rate like a shared meal, generous <3 🌈
  • mode β€” Adaptive Sync Operation Mode. which era of her personality are we in today 🧚
  • coasting_vtotal β€” Coasting vtotal. just vibing, no pedals, literally coasting πŸ’€

⭐ Description ⭐

okay so real talk: this structure represents a DP AS SDP of drm 😭 and she is based on the DP 2.1 spec, specifically [Table 2-126: Adaptive-Sync SDP Header Bytes] and [Table 2-127: Adaptive-Sync SDP Payload for DB0 through DB8]. the double space in "Table 2-126: Adaptive-Sync" is canon, bestie, I don't make the rules πŸ™ˆ

like, that's genuinely it β€” she's a struct, she holds fields, she cites two tables, she slays πŸ’…βœ¨


πŸ¦‹ SEE ALSO πŸ¦‹

go read these next, bestie, I'm obsessed with all of them:

Kernel file ./include/drm/display/drm_dp_helper.h struct drm_dp_vsc_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), enum drm_dp_quirk(9), drm_dp_has_quirk(9), struct drm_edp_backlight_info(9), struct drm_dp_phy_test_params(9)


ngl that SEE ALSO list is a whole friend group and they're all invited to the group chat 🫢

and that's the page!! πŸ’– shoutout to the source path ./include/drm/display, dated October 2026 β€” she's from the future, she's iconic, mwah 😘 bye bestie, go sync those adaptive packets πŸŽ€πŸŒΈβœ¨

πŸ“¦ where this page comes from