HOST2GUC_CONTROL_CTB(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ HOST2GUC_CONTROL_CTB πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ β€” yes that's the whole vibe, we're in kernel-land now, put your hair up.

🌸 NAME 🌸

HOST2GUC_CONTROL_CTB β€” the H2G action that literally lets the Vf Host turn CT Buffer communication on or off, both directions, no cap πŸŽ€


✨ DESCRIPTION ✨

So here's the tea β˜•: this H2G action allows the Vf Host to enable or disable the H2G and G2H CT Buffer. Both. At once. Iconic, honestly πŸ¦‹

🚨 one thing you literally cannot skip: this message must be sent as an MMIO HXG Message. That's not a suggestion, that's the rule, periodt.

πŸ’œ the request packet (dword 0)

Bits   Description
31     ORIGIN = GUC_HXG_ORIGIN_HOST_
30:28  TYPE = GUC_HXG_TYPE_REQUEST_
27:16  DATA0 = MBZ
15:0   ACTION = GUC_ACTION_HOST2GUC_CONTROL_CTB = 0x4509

πŸ“ the request payload (dword 1)

31:0   CONTROL - control CTB based communication
       GUC_CTB_CONTROL_DISABLE = 0
       GUC_CTB_CONTROL_ENABLE  = 1

so like… 0 = off, 1 = on. the simplest little vibe check in the whole ABI, we love her for that πŸ’–

🧚 and the response back (dword 0)

Bits   Description
31     ORIGIN = GUC_HXG_ORIGIN_GUC_
30:28  TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_
27:0   DATA0 = MBZ

notice the ORIGIN flips to GUC_HXG_ORIGIN_GUC_ and the TYPE is GUC_HXG_TYPE_RESPONSE_SUCCESS_ β€” that's the GuC going "heard you bestie, done" πŸ‘‘ and DATA0 is MBZ (must be zero) because there's literally nothing else to say. silent slay. πŸ”₯


πŸ” SEE ALSO πŸ”

  • Kernel file ./drivers/gpu/drm/xe/abi/guc_actions_abi.h β€” go read the source, iykyk πŸ“–
  • HOST2GUC_SELF_CFG(9) β€” her sister page, also a baddie 🫢

k bye ily, go forth and control those buffers responsibly πŸ’€πŸŒˆ β€” this was brought to you by the source at ./drivers/gpu/drm/xe/abi, dated October 2026, and the manual name Kernel API Manual πŸŽ€βœ¨

πŸ“¦ where this page comes from