intel_gt_mcr_multicast_rmw(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… intel_gt_mcr_multicast_rmw πŸ’…

okay so bestie, you're reading a page from the Kernel API Manual, and it's about one very specific little function called intel_gt_mcr_multicast_rmw. she's giving "one job and she does it" energy and honestly? iconic.


✨ NAME ✨

intel_gt_mcr_multicast_rmw β€” performs a multicast RMW operations πŸŽ€

(yes, the grammar is exactly like that. we don't fix it. we respect the source. periodt.)


🌸 SYNOPSIS 🌸

u32 intel_gt_mcr_multicast_rmw(struct intel_gt *gt, i915_mcr_reg_t reg,
                               u32 clear, u32 set);

like, she takes four things and she gives you back a u32. that's the whole vibe. πŸ¦‹


🧚 ARGUMENTS 🧚

  • gt β€” the GT structure. that's your whole graphics tile situation, she's the main character here πŸ‘‘
  • reg β€” the MCR register we're gonna read and write. both. she does both πŸ’…
  • clear β€” the bits you wanna clear during the RMW. bye-bye bits πŸ™ˆ
  • set β€” the bits you wanna set during the RMW. hello bits ✨

πŸ”₯ DESCRIPTION πŸ”₯

so what she actually does: performs a read-modify-write on an MCR register in a multicast manner. that's the whole thing. read, modify, write, but ✨multicast✨.

heads up bestie β€” this operation only makes sense on MCR registers where all instances are expected to have the same value. if your instances are out here living different lives with different values, this is not the function for you. no cap.

the read will target any non-terminated instance, and the write will be applied to all instances. so she peeks at one and yells at everyone. queen behavior fr fr 🫢

also, this function assumes the caller is already holding any necessary forcewake domains. so if you walked in here without forcewake, that's on you, not her. use intel_gt_mcr_multicast_rmw in cases where forcewake should be obtained automatically β€” that's straight from the page, i'm just the messenger πŸ’œ

Returns the old (unmodified) value read. so you get the receipts of what it looked like before she touched anything. literally handing you the before picture 😭


⭐ CONTEXT ⭐

calls functions that take and release gt->mcr_lock. so yeah, locks are involved, she's locking and unlocking behind the scenes. mind your business, it's handled πŸŽ€


🌈 SEE ALSO 🌈

kernel file ./drivers/gpu/drm/i915/gt/intel_gt_mcr.c β€” GT Multicast/Replicated (MCR) Register Support(9), plus the whole friend group:


and that's the page!! mwah πŸ’‹ this one lives over in ./drivers/gpu/drm/i915/gt, dated October 2026, and the title card still reads intel_gt_mcr_multicast_rmw(9) β€” go off kernel docs, you ate πŸ“βœ¨

πŸ“¦ where this page comes from