tsi721_lcwrite(9)
π tsi721_lcwrite β the kernel API manual, but make it make sense
okay so hi bestie π«Ά welcome to tsi721_lcwrite(9), a page straight out of the Kernel API Manual. yes it's a kernel function, no it's not scary, and yes we're gonna get through it together. it lives over in ./drivers/rapidio/devices and the version we're reading is the October 2026 one, so. fresh.
πΈ NAME πΈ
tsi721_lcwrite β write into local SREP config space. that's the whole vibe. it writes. locally. into SREP config space. iconique.
β¨ SYNOPSIS β¨
no cap, here's the signature, exactly as it is:
int tsi721_lcwrite (struct rio_mport *mport , int index , u32 offset ,
int len , u32 data );
that's five arguments and an int coming back at you. easy.
π ARGUMENTS π
here's the cast of characters, and yes every single one of them matters:
mportβ RapidIO master port info. it's the port, it's the master, it's giving main character energy tbh.indexβ ID of RapdiIO interface. (yes bestie that's genuinely how it's spelled in the original π copying it exactly, no edits, we don't "fix" things here.)offsetβ Offset into configuration space. where in the config space we're poking. πlenβ Length (in bytes) of the maintenance transaction. how many bytes we're moving, fr fr.dataβ Value to be written. the actual good stuff going in. π
π¦ DESCRIPTION π¦
so what does it do? it generates a local write into SREP configuration space. that's it. that's the whole job. it's not doing a little extra on the side, it's not doing vibes-based guesses β it just generates that local write. slay. β¨
π₯ RETURN π₯
0on success π-EINVALon failure π
two possible outcomes, no in-between. a very simple vibe check.
π SEE ALSO π
if you're the kind of bestie who likes to read ahead (and honestly? respect), the kernel file lives at ./drivers/rapidio/devices/tsi721.c, and here's the entire friend group, no one left out:
tsi721_lcread(9)tsi721_maint_dma(9)tsi721_cread_dma(9)tsi721_cwrite_dma(9)tsi721_pw_handler(9)tsi721_pw_enable(9)tsi721_dsend(9)tsi721_dbell_handler(9)tsi721_irqhandler(9)tsi721_omsg_msix(9)tsi721_imsg_msix(9)tsi721_srio_msix(9)tsi721_sr2pc_ch_msix(9)tsi721_request_msix(9)tsi721_enable_msix(9)tsi721_init_pc2sr_mapping(9)tsi721_rio_map_inb_mem(9)tsi721_rio_unmap_inb_mem(9)tsi721_init_sr2pc_mapping(9)tsi721_port_write_init(9)tsi721_bdma_maint_init(9)tsi721_add_outb_message(9)tsi721_omsg_handler(9)tsi721_open_outb_mbox(9)tsi721_close_outb_mbox(9)tsi721_imsg_handler(9)tsi721_open_inb_mbox(9)tsi721_close_inb_mbox(9)tsi721_add_inb_buffer(9)tsi721_get_inb_message(9)tsi721_messages_init(9)tsi721_query_mport(9)tsi721_disable_ints(9)tsi721_setup_mport(9)
ok that's the whole page, bestie. go write some SREP config space, responsibly. π
and a lil sign-off to close it out: this one's from ./drivers/rapidio/devices, dated October 2026. periodt. π
π¦ 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