drivers/gpu/drm/imx/dc/dc-de.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/imx/dc/dc-de.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/imx/dc/dc-de.h- Extension
.h- Size
- 1500 bytes
- Lines
- 60
- 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/clk.hlinux/device.hlinux/regmap.hdrm/drm_modes.h
Detected Declarations
struct dc_fgstruct dc_tcstruct dc_de
Annotated Snippet
struct dc_fg {
struct device *dev;
struct regmap *reg;
struct clk *clk_disp;
};
struct dc_tc {
struct device *dev;
struct regmap *reg;
};
struct dc_de {
struct device *dev;
struct regmap *reg_top;
struct dc_fg *fg;
struct dc_tc *tc;
int irq_shdload;
int irq_framecomplete;
int irq_seqcomplete;
};
/* Frame Generator Unit */
void dc_fg_cfg_videomode(struct dc_fg *fg, struct drm_display_mode *m);
void dc_fg_enable(struct dc_fg *fg);
void dc_fg_disable(struct dc_fg *fg);
void dc_fg_shdtokgen(struct dc_fg *fg);
u32 dc_fg_get_frame_index(struct dc_fg *fg);
u32 dc_fg_get_line_index(struct dc_fg *fg);
bool dc_fg_wait_for_frame_index_moving(struct dc_fg *fg);
bool dc_fg_secondary_requests_to_read_empty_fifo(struct dc_fg *fg);
void dc_fg_secondary_clear_channel_status(struct dc_fg *fg);
int dc_fg_wait_for_secondary_syncup(struct dc_fg *fg);
void dc_fg_enable_clock(struct dc_fg *fg);
void dc_fg_disable_clock(struct dc_fg *fg);
enum drm_mode_status dc_fg_check_clock(struct dc_fg *fg, int clk_khz);
void dc_fg_init(struct dc_fg *fg);
/* Timing Controller Unit */
void dc_tc_init(struct dc_tc *tc);
#endif /* __DC_DISPLAY_ENGINE_H__ */
Annotation
- Immediate include surface: `linux/clk.h`, `linux/device.h`, `linux/regmap.h`, `drm/drm_modes.h`.
- Detected declarations: `struct dc_fg`, `struct dc_tc`, `struct dc_de`.
- 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.