dm_test_hand...out_of_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 dm_test_hand...out_of_range(9) β€” Kernel API Manual 🌸

okay so you found the page for dm_test_handle_hpd_work_out_of_range, bestie β€” and no, the title up top isn't a typo, the header literally reads dm_test_hand...out_of_range(9) and it lives in the Kernel API Manual. it's giving "abbreviated for the flex" energy and honestly? iconic. let's get into it πŸ’…


✨ NAME ✨

dm_test_handle_hpd_work_out_of_range β€” the test that checks HPD work frees an unknown notification 🧚

like, the whole point is: what happens when the notification is a mystery? this test is the vibe check for that. πŸ”₯


πŸŽ€ SYNOPSIS πŸŽ€

void dm_test_handle_hpd_work_out_of_range(struct kunit *test);

no cap, that's the whole signature. she takes one thing and returns void β€” no notes, no receipts, just vibes. ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • test β€” the KUnit test context 🫢 that's it. that's the argument. it's the little context bag the KUnit framework hands you so the test knows where it lives and where to report. you don't gotta do anything fancy with it, just hold it, bestie.

🌈 SEE ALSO 🌈

okay this is the part where i need you to sit down, because the SEE ALSO section on this page is huge and i am obsessed with it. it's a whole friend group. πŸ‘‘

πŸ“ Kernel file

./drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_irq_test.c

that's where the source lives β€” literally the file, right there. go look at her, she's gorgeous. πŸ’œ

πŸ’– the hpd β†’ dal irq source girlies

hpd1 through hpd6 are all here, plus invalid and out_of_range β€” the whole lineup, periodt. πŸ’…

πŸ“ the are_sinks_equal squad

null checks, signal checks, edid length checks, edid data checks, identical, zero length, full edid identical, and full edid where the last byte differs β€” that last one is highkey the most dramatic of the bunch and i respect it. 😭

πŸŽ€ the notification_str crew

every notification type gets its name spelled out, and yes unknown is invited too. iykyk. 🧚

⭐ the irq register/unregister/fini gang

rejecting bad input AND adding handlers AND cleaning up after itself? main character energy fr fr. πŸ”₯

🫢 the get_crtc_by_otg_inst trio (plus friends)

match, null, empty list β€” the classic trio β€” and then the whole suspend/resume saga. not me getting emotional over polling states. 😭

πŸ’œ the hpd rx irq workqueue corner

tiny section, big slay. workqueue creation, the null case, and the flush case. πŸ¦‹

🌸 the crtc/pflip/vline0/vupdate irq state collective

four "no_crtc" tests in a row and honestly that's a whole aesthetic. 🌈

🧚 immediate & scheduled work tests

immediate vs scheduled, empty vs handler vs all, plus the requeue fallback. the way these tests cover every branch… ate. πŸ’…

πŸŽ€ null_dc safe-keeping

protecting against null dc like it's their job (it is). 🫢

πŸ”₯ hpd init/fini

empty connectors, connectors with actual stuff in them, the analog connector, and the irq ref. full coverage, no crumbs. ⭐

πŸ¦‹ hpd rx offload work

no connector, no connection, automated test, link loss. four whole moods. 😭

πŸ’€ hdmi hpd debounce

short but essential, ngl. πŸ“

🌈 handle_hpd_irq family

the disabled case, then the helper doing debounce scheduling, releasing the previous one, and detect-false. 🧚

πŸ‘‘ handle_hpd_rx_irq family

disabled, scheduling offload work, no left work, automated test, msg rdy, link loss. six for six, we love to see it. πŸ’–

πŸ’œ dmub hpd callback

null inputs, invalid index, empty connectors, unknown type match, hpd type, hpd irq type. the callback tests really said "we'll do all of them". πŸ”₯

🌸 register_hpd_handlers

empty, valid, invalid hpd, invalid hpd rx, dmub outbox. πŸ’…

⭐ high irq tests

vrr pre ai and vrr ai no stream are lowkey the deep lore here. 🧚

πŸŽ€ dmub outbox1 low irq

empty β†’ no handler β†’ direct callback β†’ offload. a whole character arc, honestly. 😭

πŸ”₯ register irq handlers (dce110 & dcn10)

rejecting uninitialized sources is such a serve. 🫢

πŸ¦‹ outbox irq handlers + the last two icons

with dmub, without dmub, dispatch work, and vmin/vmax update β€” and that's the whole SEE ALSO list, every single one, no skips, no shortcuts. πŸ’–βœ¨


and yeah β€” you read all of that. i'm proud of you, bestie. 🫢 that's the whole page, nothing hidden, nothing skipped. πŸ‘‘

this has been the dm_test_hand...out_of_range(9) page from the Kernel API Manual, drawn from ./drivers/gpu/drm/amd/display/..., dated October 2026. mwah, go touch some kernel code πŸ’‹βœ¨

πŸ“¦ where this page comes from