rio_clr_err_stopped(9)
π rio_clr_err_stopped β a Kernel API Manual moment (section 9, bestie)
okay so we're in the Kernel API Manual, section 9, and today's main character is rio_clr_err_stopped. yes she clears port Error-stopped states. yes she's a little unfinished. we love her anyway π«Ά
β¨ NAME β¨
rio_clr_err_stopped β literally just clears port Error-stopped states. that's the whole gig π
πΈ SYNOPSIS πΈ
int rio_clr_err_stopped (struct rio_dev *rdev , u32 pnum , u32
err_status );
π ARGUMENTS π
rdevβ a pointer to the RIO device control structure. she points, you vibe π¦pnumβ the switch port number whose errors we're clearing. pick your port, bestie.err_statusβ the port error status. plot twist: if it's0, the register gets read from the device instead π
π DESCRIPTION π
so. TODO: right now this routine is not compatible with the recovery process specified for idt_gen3 RapidIO switch devices π. it has to be reviewed so it can implement a universal recovery process that's compatible with the full range of available devices. like, all of them. no pressure.
the IDT gen3 switch driver now implements its own HW-specific error handler that issues a soft port reset to the port, which resets the ERR_STOP bits and ackIDs. iconic of them honestly π₯
ngl, the takeaway here is: this one's a work in progress, and the gen3 situation is being handled driver-side instead. don't @ me, that's what the page says π
π§ SEE ALSO π§
Kernel file ./drivers/rapidio/rio.c plus this whole friend group:
rio_local_get_device_id(9)rio_query_mport(9)rio_alloc_net(9)rio_local_set_device_id(9)rio_add_device(9)rio_request_inb_mbox(9)rio_release_inb_mbox(9)rio_request_outb_mbox(9)rio_release_outb_mbox(9)rio_setup_inb_dbell(9)rio_request_inb_dbell(9)rio_release_inb_dbell(9)rio_request_outb_dbell(9)rio_release_outb_dbell(9)rio_add_mport_pw_handler(9)rio_del_mport_pw_handler(9)rio_request_inb_pwrite(9)rio_release_inb_pwrite(9)rio_pw_enable(9)rio_map_inb_region(9)rio_unmap_inb_region(9)rio_map_outb_region(9)rio_unmap_outb_region(9)rio_mport_get_physefb(9)rio_get_comptag(9)rio_set_port_lockout(9)rio_enable_rx_tx_port(9)rio_chk_dev_route(9)rio_mport_chk_dev_access(9)rio_chk_dev_access(9)rio_get_input_status(9)rio_inb_pwrite_handler(9)rio_mport_get_efb(9)rio_mport_get_feature(9)rio_std_route_add_entry(9)rio_std_route_get_entry(9)rio_std_route_clr_table(9)rio_lock_device(9)rio_unlock_device(9)rio_route_add_entry(9)rio_route_get_entry(9)rio_route_clr_table(9)rio_request_mport_dma(9)rio_release_dma(9)rio_dma_prep_xfer(9)rio_register_scan(9)rio_mport_scan(9)
and that's the page, bestie π this one lives in ./drivers/rapidio, dated October 2026, and it's been rio_clr_err_stopped(9) the whole time πβ¨
π¦ 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