xe_guc_ct_send_recv(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_guc_ct_send_recv(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” this page is literally about sending and receiving HXG to the GuC, and it's lowkey iconic. Let's get into it 🫢

πŸŽ€ NAME πŸŽ€

xe_guc_ct_send_recv β€” send and receive HXG to the GuC πŸ’Œ

✨ SYNOPSIS ✨

Here's the exact signature, no cap:

int xe_guc_ct_send_recv (struct xe_guc_ct *ct , const u32 *action , u32
       len , u32 *response_buffer );

🧚 ARGUMENTS 🧚

  • ct β€” the xe_guc_ct πŸ’–
  • action β€” the dword array with HXG Request_ message (can't be NULL) 🚫
  • len β€” length of the HXG Request_ message (in dwords, can't be 0) πŸ”’
  • response_buffer β€” placeholder for the HXG Response_ message (can be NULL) 🌸

πŸ¦‹ DESCRIPTION πŸ¦‹

So like, this sends a HXG Request_ message to the GuC over the CT communication channel, then blocks until the GuC replies with a HXG Response_ message. It's giving "wait for it" energy 😭✨

For non-blocking communication with GuC, use xe_guc_ct_send β€” that's the main character who doesn't wait πŸ’…

πŸ’€ NOTE πŸ’€

bestie, listen: the size of response_buffer must be at least GUC_CTB_MAX_DWORDS_. That's not a suggestion, that's the rule 🫢

🌈 RETURN 🌈

It returns the response length (in dwords) if response_buffer was not NULL, or DATA0 from HXG Response_ if response_buffer was NULL, or a negative error code on failure. Periodt πŸ’…

πŸ‘‘ SEE ALSO πŸ‘‘


okay bye bestie! source/version: ./drivers/gpu/drm/xe, dated October 2026, all about xe_guc_ct_send_recv(9) β€” mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from