dm_hw_init(9)
π dm_hw_init(9) β the Kernel API Manual glow-up β¨
okay so bestie, welcome to dm_hw_init(9) from the Kernel API Manual β this is the function that literally boots up your DC device and gives it main character energy π«Ά
πΈ NAME πΈ
dm_hw_init β Initialize DC device π (yes that's the whole vibe, she initializes)
β¨ SYNOPSIS β¨
int dm_hw_init (struct amdgpu_ip_block *ip_block );
that's it, that's the signature, no cap π₯
π ARGUMENTS π
ip_blockβ a pointer to theamdgpu_ip_blockfor this hw instance. that's your girl right there, she's the one getting initialized π
π¦ DESCRIPTION π¦
okay so real talk: this function initializes the struct amdgpu_display_manager device. the way it works is it calls the initializers of each DM component, and then populates the struct with them. like, "make the pieces, then put the pieces in the box" β very organized, very slay π
and here's the thing β even though the name dm_hw_init is giving "hardware only" energy, both hardware and software are initialized here. not me being surprised by that either π. splitting them out into their relevant init hooks is a future TODO item, so for now they're roommates, living together, sharing the same function. periodt.
some notable things that get initialized in here, bestie π:
- Display Core, both software and hardware π (yes both, we been knew)
- the DC modules that we need (freesync and color management) πΈ
- DRM software states β
- Interrupt sources and handlers π₯
- Vblank support π¦
- Debug FS entries, if enabled (conditional icon, we respect her boundaries) β¨
π SEE ALSO π
the Kernel file ./drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c is right there, go read her, she's iconic π
and the whole friend group, in order because I'm not gonna do them dirty:
overview(9), update_planes_and_stream_adapter(9), dm_hw_fini(9), amdgpu_dm_dump_links_and_sinks(9), DM Lifecycle(9), atomic(9), fill_dc_dirty_rects(9), dm_arm_vblank_event_pre_programming(9), amdgpu_dm_crtc_complete_writeback(9), amdgpu_dm_mod_power_update_streams(9), amdgpu_dm_mod_power_setup_streams(9), amdgpu_dm_atomic_commit_tail(9), amdgpu_dm_atomic_check(9)
like imagine having this many mutuals. iykyk π
heads up bestie:dm_hw_initis the init one β if you're looking for the teardown arc, that'sdm_hw_fini(9)over in SEE ALSO. don't get them twisted π«Ά
kisses, this page came from ./drivers/gpu/drm/amd/display/..., dated October 2026, and it lives in the Kernel API Manual β dm_hw_init(9), that's a wrap, mwah ππβ¨
π¦ 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