xe_print_blob_ascii85(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ xe_print_blob_ascii85(9) β€” bestie's edition

okay so you're in the Kernel API Manual for xe_print_blob_ascii85(9), and honestly? this one's a lil niche but it slaps. it's all about dumping a BLOB somewhere useful, but in ASCII85. yes, the encoding. we're fancy now πŸ’…


✨ NAME ✨

xe_print_blob_ascii85 β€” print a BLOB to some useful location in ASCII85 πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

void xe_print_blob_ascii85 (struct drm_printer *p , const char *prefix ,
char suffix , const void *blob , size_t offset , size_t size );

like, that's the whole vibe. six args, one function, zero chill.


🌸 ARGUMENTS 🌸

  • p β€” the printer object you're outputting to. it's the main character here, everything goes through it fr.
  • prefix β€” an optional prefix you can slap onto the output string. cute lil intro, if you will 🫢
  • suffix β€” an optional suffix added at the end. but bestie listen: 0 disables it and it does not get added to the output. that's actually iconic when you're making multiple calls to dump data to p β€” no weird little trailing characters ruining your day ✨
  • blob β€” the Binary Large OBject you're dumping out. the star of the show πŸ’–
  • offset β€” offset in bytes to skip from the front of the BLOB. must be a multiple of sizeof(u32). not optional, not negotiable, that's just the rules πŸ™ˆ
  • size β€” the size in bytes of the BLOB. also must be a multiple of sizeof(u32). matching energy, we love consistency πŸ‘‘

⭐ DESCRIPTION ⭐

so the output gets split into multiple calls to drm_puts, and that's on purpose β€” some print targets, like dmesg, literally cannot handle arbitrarily long lines. like, they will simply perish 😭 these targets may also add newlines, which is exactly what dmesg does: each drm_puts call creates a separate line. so yeah, that's why your output looks the way it does. no cap.

and there's a scheduler yield call in there too 🧚 β€” it prevents the 'task has been stuck for 120s' kernel hang check feature from firing when you're printing to a slow target, like dmesg over a serial port. basically it's the function going "girl, breathe, i'm still working on it" so the kernel doesn't panic-nap on you πŸ’€

lowkey important: the multiple-call split and that yield exist for real reasons. don't go thinking you can just yeet it into one long line. πŸ™…β€β™€οΈ

πŸ”₯ SEE ALSO πŸ”₯

go read those next, iykyk πŸ“š


and that's the whole page, bestie πŸ’œ this one lives in ./drivers/gpu/drm/xe, dated October 2026, and it's xe_print_blob_ascii85(9) all the way down. slay, stay encoded, bye πŸŽ€βœ¨

πŸ“¦ where this page comes from