STRUCT XE_REG_MCR(9)
π struct xe_reg_mcr(9) π
ok so bestie, welcome to the Kernel API Manual β this is the page for struct xe_reg_mcr, and honestly it's a short one but it matters, so pay attention π«Ά
β¨ NAME β¨
struct xe_reg_mcr β literally the MCR register definition, that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
struct xe_reg_mcr {
struct xe_reg __reg;
};
π Members π
__regβ the register itself. that's the member. that's the whole member. iconic minimalism π
π¦ Description π¦
okay so here's the tea, and it's actually important π
An MCR register is the same as a regular register β no cap, same thing, same concept. BUT it uses another type, because the internal API used for accessing them is different. and bestie, listen to this next part:
it's never correct to use regular MMIO access. never ever. not once. don't do it π
so the type exists purely to keep you honest β the compiler and the API can tell the difference, and you should respect the distinction fr fr π§
π₯ SEE ALSO π₯
- Kernel file
./drivers/gpu/drm/xe/regs/xe_reg_defs.h XE_REG_ADDR_MAX(9)struct xe_reg(9)XE_REG_OPTION_MASKED(9)XE_REG_OPTION_VF(9)XE_REG_INITIALIZER(9)XE_REG(9)XE_REG_MCR(9)
go read those too, they're the friend group π
β that's the page!! sign-off time: this lil beauty lives over in ./drivers/gpu/drm/xe/regs and it's dated October 2026 β anyway ily, go forth and never use regular MMIO access on an MCR register πβ¨π
π¦ 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