subvp_subvp_schedulable(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… subvp_subvp_schedulable β€” a Kernel API Manual moment (section 9, bestie)

okay so picture this: it's a (9) manpage, it's called subvp_subvp_schedulable, and it's here to answer exactly one question β€” is this SubVP + SubVP config actually schedulable or not? that's the whole vibe. ✨


πŸŽ€ NAME πŸŽ€

subvp_subvp_schedulable β€” determine if a SubVP + SubVP config is schedulable (yes that's literally the job, no cap)


πŸ¦‹ SYNOPSIS πŸ¦‹

bool subvp_subvp_schedulable (struct dc *dc , struct dc_state *context );

it returns a bool, it takes two args, and it's giving "small function, big responsibility." 🫢


🌸 ARGUMENTS 🌸

  • dc β€” the current dc state, aka the lore we already have πŸ’–
  • context β€” the new dc state, aka the plot twist we're tryna schedule for πŸ¦‹

πŸ”₯ DESCRIPTION πŸ”₯

here's the high level algorithm, and honestly? it ate:

  1. Find the longest microschedule length (in us) between the two SubVP pipes. longest one wins, that's the main character of this whole check πŸ‘‘
  2. Check if the worst case overlap (VBLANK in middle of ACTIVE) for both pipes still allows for the maximum microschedule to fit in the active region for both pipes. yes, both pipes. it's an AND situation, not an OR situation, and that's on periodt πŸ’…
ngl step 2 is the vibe check of the whole function β€” worst case overlap is VBLANK sitting right in the middle of ACTIVE, and if the maximum microschedule still fits in the active region for both pipes, we're so back. if not... yeah 😭

⭐ RETURN ⭐

  • True if the SubVP + SubVP config is schedulable πŸ’–
  • false otherwise πŸ’€

literally that simple, iykyk.


🌈 SEE ALSO 🌈

the whole friend group, fr fr β€” kernel file ./drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c:


okay that's the whole page bestie, mwah πŸ’‹ this icon was brought to you by ./drivers/gpu/drm/amd/display/... and it's stamped October 2026 β€” go forth and schedule some subviews πŸ§šπŸ’œ

πŸ“¦ where this page comes from