ENUM ICVS_CSI_LINK_OWNER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

Okay so bestie, welcome to the Kernel API Manual πŸ’– This page is literally all about the enum icvs_csi_link_owner and who gets to own the CSI-2 link / sensor. No cap, it's giving main character energy for camera drivers.


🌸 NAME 🌸

enum icvs_csi_link_owner β€” CSI-2 link / sensor ownership. Like, who's holding the aux cord for the image sensor? That's the vibe.


πŸŽ€ SYNOPSIS πŸŽ€

enum icvs_csi_link_owner {
    ICVS_CSI_LINK_HOST ,
    ICVS_CSI_LINK_CVS

};

πŸ‘‘ Constants πŸ‘‘

Okay so these are the two possible owners, and you gotta know them fr fr:

  • ICVS_CSI_LINK_HOST β€” Host (Linux) owns the sensor and may start streaming. So the kernel is driving, windows down, streaming enabled. Slay. πŸš—πŸ’¨
  • ICVS_CSI_LINK_CVS β€” CVS firmware owns the sensor (host must not stream). Like, hands off the wheel, bestie β€” the firmware is in charge now. Do not start streaming. Periodt. πŸ™…β€β™€οΈ

πŸ”₯ Description πŸ”₯

Ownership reflects which endpoint currently controls the attached image sensor over the CSI-2 link. Think of it as the "who's the main character right now" for your sensor.

Transitions may gate streaming or reconfigure link parameters. So when ownership changes, it can literally block streaming or change how the link is set up β€” highkey important to keep track of. πŸ¦‹

The host requests ownership changes via protocol opcodes and may need to assert GPIO signals on platforms without full capability. So yeah, sometimes you gotta send opcodes, and sometimes you gotta poke GPIOs because the platform isn't fully capable. Not me having to manually assert signals 😭 but that's the reality.


πŸ¦‹ SEE ALSO πŸ¦‹

Bestie, there's a whole squad of related stuff. Check out the kernel file ./drivers/media/i2c/cvs/icvs.h and all these icons:

  • enum icvs_csi_cmd_id(9)
  • enum icvs_csi_privacy_status(9)
  • enum icvs_csi_pads(9)
  • CVS device quirk flags(9)
  • struct icvs_device_quirk(9)
  • struct icvs_dt_config(9)
  • struct icvs_vc_config(9)
  • struct icvs_link_cfg(9)
  • struct icvs_fw_version(9)
  • struct icvs_vid_pid(9)
  • struct icvs_mipi_data_packet(9)
  • struct icvs_mipi_read_packet(9)
  • struct icvs_dev_capabilities(9)
  • struct icvs_cmd(9)
  • struct icvs_resp(9)
  • enum icvs_resources(9)
  • enum icvs_command(9)
  • enum icvs_state(9)
  • struct icvs(9)
  • cvs_dev(9)

Alright bestie, that's the whole page. Slay, and remember: this is from ./drivers/media/i2c/cvs, October 2026 edition. πŸ’– Stay iconic, and don't forget who owns the sensor! πŸŽ€βœ¨

πŸ“¦ where this page comes from