STRUCT CTI_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ struct cti_config(9) πŸ’œ

okay so bestie, welcome to the Kernel API Manual β€” this page is literally all about struct cti_config, and it's giving "configuration of the CTI device hardware" ✨ periodt.


🌸 NAME 🌸

struct cti_config β€” the configuration of the CTI device hardware. that's it, that's the whole vibe 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the struct in all its glory, no cap, every field exactly where it lives:

struct cti_config {
    int nr_ctm_channels;
    int nr_trig_max;
    bool asicctl_impl;
    int enable_req_count;
    u32 trig_in_use;
    u32 trig_out_use;
    u32 trig_out_filter;
    bool trig_filter_enable;
    u8 xtrig_rchan_sel;
    u32 ctiappset;
    u8 ctiinout_sel;
    u32 ctiinen[CTIINOUTEN_MAX];
    u32 ctiouten[CTIINOUTEN_MAX];
    u32 ctigate;
    u32 asicctl;
 };

πŸŽ€ Members πŸŽ€

like, one by one, let's go πŸ‘‘

  • nr_ctm_channels β€” how many CTM channels you've got available. it's pulled straight from the ID register, iykyk πŸ”₯
  • nr_trig_max β€” the max number of trigger signals implemented on the device. specifically it's the max of trig_in or trig_out β€” and yeah, also straight from the ID register πŸ’…
  • asicctl_impl β€” true if asicctl is implemented. love that for you πŸ’–
  • enable_req_count β€” CTI is enabled alongside >=1 associated devices. literally a counter of enabling πŸ’€
  • trig_in_use β€” bitfield of in triggers registered as in use. bits and bytes bestie 🌈
  • trig_out_use β€” bitfield of out triggers registered as in use. same energy, different direction ⭐
  • trig_out_filter β€” bitfield of out triggers that get blocked if the filter is enabled. typically this would be dbgreq / restart on a core CTI πŸ‘€
  • trig_filter_enable β€” 1 if filtering is enabled. not 0, not maybe, just 1 ✨
  • xtrig_rchan_sel β€” channel selection for the xtrigger connection show πŸ¦‹
  • ctiappset β€” CTI Software application channel set πŸŽ€
  • ctiinout_sel β€” the register selector for the INEN and OUTEN regs 🧚
  • ctiinen β€” enable input trigger to a channel πŸ’œ
  • ctiouten β€” enable output trigger from a channel πŸ’œ
  • ctigate β€” gate channel output from CTI to CTM. gatekeeping, but make it hardware πŸ’…
  • asicctl β€” asic control register. the asic of it all πŸ”₯

🫢 SEE ALSO 🫢

  • the kernel file ./drivers/hwtracing/coresight/coresight-cti.h
  • struct cti_device(9)
  • struct cti_drvdata(9)

ngl bestie, if you're digging around in here you're probably already deep in ./drivers/hwtracing/coresight β€” go read the friends above, they're iconic πŸ‘‘

okay that's the page!! huge shoutout to the source path ./drivers/hwtracing/coresight and the version stamp October 2026 β€” yeah, October 2026, she's from the future, main character energy fr fr πŸ˜­πŸ’– slay, go configure some CTI hardware, mwah πŸŽ€βœ¨

πŸ“¦ where this page comes from