skl_pcode_request(9)
π skl_pcode_request π
okay so this is a page from the Kernel API Manual β yes bestie, the Kernel API Manual, we're in the big leagues now β and it's all about skl_pcode_request, which is literally the function that "sends a PCODE request until acknowledgment". like it just keeps knocking until somebody answers the door πͺβ¨
β¨ SYNOPSIS β¨
int skl_pcode_request (struct intel_uncore *uncore , u32 mbox , u32
request , u32 reply_mask , u32 reply , int timeout_base_ms );
that's the whole vibe, no cap. π«Ά
π ARGUMENTS π
uncoreβ theuncore. that's it, that's the description. iconic minimalism honestly πmboxβ the PCODE mailbox ID that this request is being sent to π¬requestβ the request ID, like the little name tag on your request π·οΈreply_maskβ the mask used to check whether the request got acknowledged πreplyβ the value used to check whether the request got acknowledged βtimeout_base_msβ the timeout for polling with preemption enabled β°
πΈ DESCRIPTION πΈ
so the way this works: it keeps resending the request to mbox until one of three things happens β PCODE acknowledges it, PCODE reports an error, or an overall timeout of timeout_base_ms+50 ms expires. π
the request counts as acknowledged once the PCODE reply dword equals reply after applying reply_mask. got it? mask first, then compare. that's the whole check, fr fr. β¨
the polling happens in two phases, and this part matters:
- first it polls with preemption enabled for
timeout_base_msπ§ - if that times out, it goes for another
50 mswith preemption disabled π
and what do you get back?
- returns
0on success π - returns
-ETIMEDOUTin case of a timeout β³ - returns
<0in case of some other error as reported by PCODE π¨
no cap, the two-phase polling is real β the first round keeps preemption on, and only the extra 50 ms goes preemption-off. don't mix those up bestie π«Ά
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/i915/intel_pcode.cβ go read it, iykyk ππ₯
and that's the page!! π source and version vibes come courtesy of ./drivers/gpu/drm/i915, dated October 2026, and this whole thing is skl_pcode_request(9) β slay, bye bestie ππ¦π
π¦ 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