vkms_config_...ossible_crtc(9)
π vkms_config_plane_for_each_possible_crtc(9) β like, the Kernel API Manual bestie π
okay so picture this: you're deep in the kernel API manual (yes, that one, the Kernel API Manual, hi β¨) and you need to walk the CRTCs. no cap, this is the macro for you.
πΈ NAME πΈ
vkms_config_plane_for_each_possible_crtc β the little iterator that loops over every single CRTC a vkms_config_plane could possibly be into. it's giving matchmaker energy, honestly π«Ά
β¨ SYNOPSIS β¨
vkms_config_plane_for_each_possible_crtc (plane_cfg , idx ,
possible_crtc );
like, three things go in, the loop happens, you're living. periodt π
π¦ ARGUMENTS π¦
plane_cfgβ astruct vkms_config_planepointer. this is the plane we're snooping on, main character energy, the whole loop revolves around her πidxβ the index of the cursor. yes bestie, the cursor, not an index into the CRTCs, don't come for me, I just report what the manual says πpossible_crtcβ astruct vkms_config_crtcpointer, and it's used as the cursor. so every trip around the loop, this lil variable is gonna be pointing at whichever possible CRTC you're currently visiting. slay π
π₯ SEE ALSO π₯
literally the whole friend group, iykyk π β
- Kernel file
./drivers/gpu/drm/vkms/vkms_config.h struct vkms_config(9)struct vkms_config_plane(9)struct vkms_config_crtc(9)struct vkms_config_encoder(9)struct vkms_config_connector(9)vkms_config_for_each_plane(9)vkms_config_for_each_crtc(9)vkms_config_for_each_encoder(9)vkms_config_for_each_connector(9)vkms_config_encoder_for_each_possible_crtc(9)vkms_config_connector_for_each_possible_encoder(9)vkms_config_create(9)vkms_config_default_create(9)vkms_config_destroy(9)vkms_config_get_device_name(9)vkms_config_get_num_crtcs(9)vkms_config_is_valid(9)vkms_config_register_debugfs(9)vkms_config_create_plane(9)vkms_config_destroy_plane(9)vkms_config_plane_set_type(9)vkms_config_plane_get_default_pipeline(9)vkms_config_plane_set_default_pipeline(9)vkms_config_plane_attach_crtc(9)vkms_config_plane_detach_crtc(9)vkms_config_create_crtc(9)vkms_config_destroy_crtc(9)vkms_config_crtc_get_writeback(9)vkms_config_crtc_set_writeback(9)vkms_config_crtc_primary_plane(9)vkms_config_crtc_cursor_plane(9)vkms_config_create_encoder(9)vkms_config_destroy_encoder(9)vkms_config_encoder_attach_crtc(9)vkms_config_encoder_detach_crtc(9)vkms_config_create_connector(9)vkms_config_destroy_connector(9)vkms_config_connector_attach_encoder(9)vkms_config_connector_detach_encoder(9)vkms_config_connector_get_status(9)vkms_config_connector_set_status(9)
aaaand that's the whole page, bestie π mwah. this gem lives over in ./drivers/gpu/drm/vkms, and it's stamped October 2026, so mark your calendars ποΈβ¨ go forth and iterate, you absolute icon ππ¦
π¦ 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