drivers/hwtracing/coresight/coresight-trbe.c
Source file repositories/reference/linux-study-clean/drivers/hwtracing/coresight/coresight-trbe.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/hwtracing/coresight/coresight-trbe.c- Extension
.c- Size
- 48676 bytes
- Lines
- 1606
- Domain
- Driver Families
- Bucket
- drivers/hwtracing
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
asm/barrier.hasm/cpufeature.hlinux/kvm_host.hlinux/vmalloc.hcoresight-self-hosted-trace.hcoresight-trbe.h
Detected Declarations
struct trbe_bufstruct trbe_cpudatastruct trbe_drvdataenum trbe_fault_actionfunction trbe_check_erratafunction trbe_has_erratumfunction trbe_may_overwrite_in_fill_modefunction trbe_may_write_out_of_rangefunction trbe_needs_drain_after_disablefunction trbe_needs_ctxt_sync_after_enablefunction trbe_is_brokenfunction trbe_alloc_nodefunction trbe_drain_bufferfunction set_trbe_enabledfunction set_trbe_disabledfunction trbe_drain_and_disable_localfunction trbe_reset_localfunction trbe_report_wrap_eventfunction trbe_stop_and_truncate_eventfunction indicesfunction trbe_pad_buffunction trbe_snapshot_offsetfunction trbe_min_trace_buf_sizefunction __trbe_normal_offsetfunction trbe_normal_offsetfunction compute_trbe_buffer_limitfunction clr_trbe_statusfunction set_trbe_limit_pointer_enabledfunction trbe_enable_hwfunction trbe_get_fault_actfunction trbe_get_trace_sizefunction arm_trbe_free_bufferfunction arm_trbe_update_bufferfunction trbe_apply_work_around_before_enablefunction entityfunction __arm_trbe_enablefunction arm_trbe_enablefunction arm_trbe_disablefunction trbe_handle_spuriousfunction trbe_handle_overflowfunction is_perf_trbefunction cpu_prohibit_tracefunction arm_trbe_irq_handlerfunction align_showfunction flag_showfunction arm_trbe_enable_cpufunction arm_trbe_disable_cpufunction arm_trbe_register_coresight_cpu
Annotated Snippet
module_init(arm_trbe_init);
module_exit(arm_trbe_exit);
MODULE_AUTHOR("Anshuman Khandual <anshuman.khandual@arm.com>");
MODULE_DESCRIPTION("Arm Trace Buffer Extension (TRBE) driver");
MODULE_LICENSE("GPL v2");
Annotation
- Immediate include surface: `asm/barrier.h`, `asm/cpufeature.h`, `linux/kvm_host.h`, `linux/vmalloc.h`, `coresight-self-hosted-trace.h`, `coresight-trbe.h`.
- Detected declarations: `struct trbe_buf`, `struct trbe_cpudata`, `struct trbe_drvdata`, `enum trbe_fault_action`, `function trbe_check_errata`, `function trbe_has_erratum`, `function trbe_may_overwrite_in_fill_mode`, `function trbe_may_write_out_of_range`, `function trbe_needs_drain_after_disable`, `function trbe_needs_ctxt_sync_after_enable`.
- Atlas domain: Driver Families / drivers/hwtracing.
- Implementation status: integration implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.