drm_atomic_h...r_set_config(9)
drm_atomic_h...r_set_config(9) π
okay bestie, so this is a page from the Kernel API Manual and it's about drm_atomic_helper_set_config β yes the header line is doing that truncated drm_atomic_h...r_set_config(9) thing, that's just how it's printed, don't come for her π
. Anyway. Sit down, grab a strawberry drink π, and let's talk about setting a new config from userspace.
β¨ NAME β¨
drm_atomic_helper_set_config β set a new config from userspace. that's it. that's the whole job. π«Ά
πΈ SYNOPSIS πΈ
int drm_atomic_helper_set_config (struct drm_mode_set *set , struct
drm_modeset_acquire_ctx *ctx );
like, you hand her a struct drm_mode_set *set and a struct drm_modeset_acquire_ctx *ctx, and she gives you back an int. two args, one int, no drama. β¨
π¦ ARGUMENTS π¦
setβ the mode set configuration π this is the actual "here's what I want the screen to look like" bundle.ctxβ the lock acquisition context π your proof that you've already handled the locking situation, bestie.
π DESCRIPTION π
So what she actually does: this gives you a default CRTC set_config handler built on the atomic driver interface. like, a ready-made one so you don't have to write your own. iconic behaviour honestly. no cap. π₯
π NOTE π
okay this part's important, pay attention bestie:
for backwards compatibility with old userspace, this automatically resets the "link-status" property to GOOD, which forces any link re-training. slurp. π
and why is that allowed? because the SETCRTC ioctl does not define whether an update needs a full modeset or just a plane update β so she's within her rights to do it. periodt. β¨
see also drm_connector_set_link_status_property. iykyk π§
π RETURN π
- returns
0on success π - returns negative errno numbers on failure π (yes, plural, there are many ways to fail, that's just life)
β SEE ALSO β
she has so many friends, honestly main character energy with this contact list π β and it all lives in the kernel file ./drivers/gpu/drm/drm_atomic_helper.c:
overview(9)drm_atomic_helper_check_modeset(9)drm_atomic_helper_check_wb_connector_state(9)drm_atomic_helper_check_plane_state(9)drm_atomic_helper_check_crtc_primary_plane(9)drm_atomic_helper_check_planes(9)drm_atomic_helper_check(9)drm_atomic_helper_commit_encoder_bridge_disable(9)drm_atomic_helper_commit_crtc_disable(9)drm_atomic_helper_commit_encoder_bridge_post_disable(9)drm_atomic_helper_update_legacy_modeset_state(9)drm_atomic_helper_calc_timestamping_constants(9)drm_atomic_helper_commit_crtc_set_mode(9)drm_atomic_helper_commit_modeset_disables(9)drm_atomic_helper_commit_writebacks(9)drm_atomic_helper_commit_encoder_bridge_pre_enable(9)drm_atomic_helper_commit_crtc_enable(9)drm_atomic_helper_commit_encoder_bridge_enable(9)drm_atomic_helper_commit_modeset_enables(9)drm_atomic_helper_wait_for_fences(9)drm_atomic_helper_wait_for_vblanks(9)drm_atomic_helper_wait_for_flip_done(9)drm_atomic_helper_commit_tail(9)drm_atomic_helper_commit_tail_rpm(9)drm_atomic_helper_async_check(9)drm_atomic_helper_async_commit(9)drm_atomic_helper_commit(9)implementing nonblocking commit(9)drm_atomic_helper_setup_commit(9)drm_atomic_helper_wait_for_dependencies(9)drm_atomic_helper_fake_vblank(9)drm_atomic_helper_commit_hw_done(9)drm_atomic_helper_commit_cleanup_done(9)drm_atomic_helper_prepare_planes(9)drm_atomic_helper_unprepare_planes(9)drm_atomic_helper_commit_planes(9)drm_atomic_helper_commit_planes_on_crtc(9)drm_atomic_helper_disable_planes_on_crtc(9)drm_atomic_helper_cleanup_planes(9)drm_atomic_helper_swap_state(9)drm_atomic_helper_update_plane(9)drm_atomic_helper_disable_plane(9)drm_atomic_helper_disable_all(9)drm_atomic_helper_reset_crtc(9)drm_atomic_helper_shutdown(9)drm_atomic_helper_duplicate_state(9)drm_atomic_helper_suspend(9)drm_atomic_helper_commit_duplicated_state(9)drm_atomic_helper_resume(9)drm_atomic_helper_page_flip(9)drm_atomic_helper_page_flip_target(9)drm_atomic_helper_bridge_propagate_bus_fmt(9)drm_atomic_helper_bridge_get_hdmi_output_bus_fmts(9)
and that's the whole page, bestie, you ate that π«Άβ¨
little sign-off before you go: this one's stamped from ./drivers/gpu/drm, dated October 2026 β same code, same page name drm_atomic_h...r_set_config(9), just a whole lot more glitter on it now. bye babe ππ
π¦ 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