amdgpu_displ...ug_work_func(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay so bestie, this page is about amdgpu_display_hotplug_work_func β€” the work handler for display hotplug event ✨ (like, literally the little function that handles your monitor getting plugged in or yanked out πŸ‘‘)

This is a page from the Kernel API Manual, and yes the title is truncated as amdgpu_displ...ug_work_func(9) β€” the kernel's naming is giving ellipsis-core and we respect it πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void amdgpu_display_hotplug_work_func (struct work_struct *work );

no cap, that's the whole signature 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • work β€” work struct pointer. that's it. that's the whole argument, she's lowkey simple like that πŸ’–

✨ DESCRIPTION ✨

so this? this is the hotplug event work handler, and it works for all ASICs (every single one, periodt πŸ”₯). The work gets scheduled from the IRQ handler if there was a hotplug interrupt β€” so like, IRQ handler sees the plug happen, goes "not my job", and hands it off 🫢

Then our girl here walks through the connector table and calls the hotplug handler for each connector. One by one. Iconic behavior honestly πŸŽ€

After all that, it sends a DRM hotplug event to alert userspace πŸ“’ β€” like a little "hey bestie, something changed over here" to the rest of the system.

okay now the serious part, because this is the actual reason the design looks like this πŸ‘€

This design approach is required in order to defer hotplug event handling from the IRQ handler to a work handler. Why? Because the hotplug handler has to use mutexes, and mutexes cannot be locked in an IRQ handler β€” since mutex_lock may sleep πŸ˜­πŸ’€ So yeah, it's not a vibe choice, it's a whole necessity. The IRQ handler literally cannot do this itself, so it passes the task off to the work handler. main character energy fr fr πŸ‘‘


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_display.c property for adaptive backlight modulation(9) πŸ’œ

that's the page bestie, go forth and hotplug responsibly 🧚 πŸ’«

sign-off cuteness: this lil page lives under ./drivers/gpu/drm/amd/amdgpu, fresh out of October 2026, and it answers to the name amdgpu_displ...ug_work_func(9) πŸ“ ⭐

πŸ“¦ where this page comes from