STRUCT HSI_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct hsi_config(9) πŸ’–

Okay so this is the Kernel API Manual page for struct hsi_config, and it’s the configuration for RX/TX HSI modules. Basically the little setup card for those modules, and we’re gonna read every line together, no skips. 🫢


🌸 NAME 🌸

struct hsi_config β€” configuration for RX/TX HSI modules. That’s the whole name bit, and yes it ate. ✨

✨ SYNOPSIS ✨

struct hsi_config {
    unsigned int            mode;
    struct hsi_channel      *channels;
    unsigned int            num_channels;
    unsigned int            num_hw_channels;
    unsigned int            speed;
    union {
      unsigned int    flow;
      unsigned int    arb_mode;
    };
 };

πŸŽ€ Members πŸŽ€

  • mode β€” bit transmission mode (STREAM or FRAME). Pick your transmission vibe. πŸ’…
  • channels β€” channel resources used by the client.
  • num_channels β€” number of channel resources.
  • num_hw_channels β€” number of channels the transceiver is configured for [1..16].
  • speed β€” Max bit transmission speed (Kbit/s).
  • {unnamed_union} β€” anonymous. The page literally just says anonymous, bestie, so no extra lore from me. πŸ™ˆ
    • flow β€” RX flow type (SYNCHRONIZED or PIPELINE).
    • arb_mode β€” arbitration mode for TX frame (Round robin, priority).

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/hsi/hsi.h + the whole reference squad: struct hsi_channel(9), struct hsi_board_info(9), struct hsi_client(9), struct hsi_client_driver(9), struct hsi_msg(9), struct hsi_port(9), struct hsi_controller(9), hsi_id(9), hsi_port_id(9), hsi_setup(9), hsi_flush(9), hsi_async_read(9), hsi_async_write(9), hsi_start_tx(9), hsi_stop_tx(9). Go read those when you’re done slaying this one. πŸ’…


Cute sign-off: source/version ./include/linux/hsi πŸŽ€, date October 2026 ✨, and this is the struct hsi_config(9) manual page πŸ’–. That’s the whole page, bestie β€” periodt. 🌈
πŸ“¦ where this page comes from