dcn32_assign_subvp_pipe(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ dcn32_assign_subvp_pipe ✨

okay bestie, so this is a page from the Kernel API Manual β€” it's all about dcn32_assign_subvp_pipe, the function that decides which pipe gets to use Sub-VP πŸ’…


🌸 SYNOPSIS 🌸

bool dcn32_assign_subvp_pipe (struct dc *dc , struct dc_state *context ,
unsigned int *index );

like, it returns a bool, takes a dc, a context, and an index β€” that's the whole squad right there 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • dc β€” the current dc state, i.e. what's happening right now bestie
  • context β€” the new dc state, the glow-up we're considering ✨
  • index β€” [out] parameter! it hands you back the dc pipe index for the pipe that got chosen to have phantom pipes assigned πŸ‘‘

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the vibe check πŸ’€ β€” we only even enter this function if we're Sub-VP capable (translation: enough pipes are available) and regular P-State switching (that's VACTIVE/VBLANK, iykyk) is not supported. OR we're in there because we're forcing SubVP P-State switching on the current config. either way, we're in it now πŸ”₯

the rule, no cap: the number of pipes used for the chosen surface has to be less than or equal to the number of free pipes available. that's non-negotiable, fr fr 🧚

in general? we pick surfaces with the longest frame time first β€” that's better for SubVP + VBLANK, periodt πŸ‘‘

but for the multi-display cases, ActiveDRAMClockChangeMargin lowkey doesn't give us enough info on its own to figure out which one should be the SubVP pipe 😭 we need a way to determine if a pipe / plane doesn't support MCLK switching naturally (like ACTIVE or VBLANK) β€” that's the missing piece, and it's giving unresolved plotline ngl πŸ™ˆ


⭐ RETURN ⭐

  • True β€” slay πŸ’– a valid pipe assignment was found for Sub-VP
  • False β€” nope πŸ™ˆ no valid assignment for you

πŸ‘‘ SEE ALSO πŸ‘‘

the source file itself lives at ./drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c β€” like, that's the whole address bestie 🏠

and here's the whole friend group, all of them iconic, all of them (9):


and that's the whole page, bestie 🫢 this one came out of ./drivers/gpu/drm/amd/display/... with a date stamp of October 2026, served up hot from the Kernel API Manual β€” go read the other dcn32_* pages, they're literally so good, mwah πŸ’‹πŸŒˆ

πŸ“¦ where this page comes from