drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h- Extension
.h- Size
- 2130 bytes
- Lines
- 77
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: implementation source
- Status
- source 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/dcache.hlinux/mutex.hdrm/drm_crtc.hdpu_hw_catalog.h
Detected Declarations
struct dpu_core_perf_paramsstruct dpu_core_perf_tunestruct dpu_core_perfstruct dpu_kms
Annotated Snippet
struct dpu_core_perf_params {
u32 max_per_pipe_ib;
u64 bw_ctl;
u64 core_clk_rate;
};
/**
* struct dpu_core_perf_tune - definition of performance tuning control
* @mode: performance mode
*/
struct dpu_core_perf_tune {
u32 mode;
};
/**
* struct dpu_core_perf - definition of core performance context
* @perf_cfg: Platform-specific performance configuration
* @core_clk_rate: current core clock rate
* @max_core_clk_rate: maximum allowable core clock rate
* @perf_tune: debug control for performance tuning
* @enable_bw_release: debug control for bandwidth release
* @fix_core_clk_rate: fixed core clock request in Hz used in mode 2
* @fix_core_ib_vote: fixed core ib vote in KBps used in mode 2
* @fix_core_ab_vote: fixed core ab vote in KBps used in mode 2
*/
struct dpu_core_perf {
const struct dpu_perf_cfg *perf_cfg;
u64 core_clk_rate;
u64 max_core_clk_rate;
struct dpu_core_perf_tune perf_tune;
u32 enable_bw_release;
u64 fix_core_clk_rate;
u32 fix_core_ib_vote;
u32 fix_core_ab_vote;
};
u64 dpu_core_perf_adjusted_mode_clk(u64 clk_rate,
const struct dpu_perf_cfg *perf_cfg);
int dpu_core_perf_crtc_check(struct drm_crtc *crtc,
struct drm_crtc_state *state);
int dpu_core_perf_crtc_update(struct drm_crtc *crtc,
int params_changed);
void dpu_core_perf_crtc_release_bw(struct drm_crtc *crtc);
int dpu_core_perf_init(struct dpu_core_perf *perf,
const struct dpu_perf_cfg *perf_cfg,
unsigned long max_core_clk_rate);
struct dpu_kms;
int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, struct dentry *parent);
#endif /* _DPU_CORE_PERF_H_ */
Annotation
- Immediate include surface: `linux/types.h`, `linux/dcache.h`, `linux/mutex.h`, `drm/drm_crtc.h`, `dpu_hw_catalog.h`.
- Detected declarations: `struct dpu_core_perf_params`, `struct dpu_core_perf_tune`, `struct dpu_core_perf`, `struct dpu_kms`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
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.