STRUCT CTI_CONFIG(9)
π 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 oftrig_inortrig_outβ and yeah, also straight from the ID register πasicctl_implβtrueifasicctlis 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 bedbgreq/restarton a core CTI πtrig_filter_enableβ1if filtering is enabled. not 0, not maybe, just1β¨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
- 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