drivers/gpu/drm/mediatek/mtk_drm_drv.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/mediatek/mtk_drm_drv.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/mediatek/mtk_drm_drv.h
Extension
.h
Size
2190 bytes
Lines
85
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct mtk_drm_route {
	const unsigned int crtc_id;
	const unsigned int route_ddp;
};

struct mtk_mmsys_driver_data {
	const unsigned int *main_path;
	unsigned int main_len;
	const unsigned int *ext_path;
	unsigned int ext_len;
	const unsigned int *third_path;
	unsigned int third_len;
	const struct mtk_drm_route *conn_routes;
	unsigned int num_conn_routes;

	bool shadow_register;
	unsigned int mmsys_id;
	unsigned int mmsys_dev_num;

	u16 max_width;
	u16 min_width;
	u16 min_height;
};

struct mtk_drm_private {
	struct drm_device *drm;
	bool mtk_drm_bound;
	bool drm_master;
	struct device *dev;
	struct device_node *mutex_node;
	struct device *mutex_dev;
	struct device *mmsys_dev;
	struct device_node *comp_node[DDP_COMPONENT_DRM_ID_MAX];
	struct mtk_ddp_comp ddp_comp[DDP_COMPONENT_DRM_ID_MAX];
	struct mtk_mmsys_driver_data *data;
	struct drm_atomic_commit *suspend_state;
	unsigned int mbox_index;
	struct mtk_drm_private **all_drm_private;
};

extern struct platform_driver mtk_disp_aal_driver;
extern struct platform_driver mtk_disp_ccorr_driver;
extern struct platform_driver mtk_disp_color_driver;
extern struct platform_driver mtk_disp_gamma_driver;
extern struct platform_driver mtk_disp_merge_driver;
extern struct platform_driver mtk_disp_ovl_adaptor_driver;
extern struct platform_driver mtk_disp_ovl_driver;
extern struct platform_driver mtk_disp_rdma_driver;
extern struct platform_driver mtk_dpi_driver;
extern struct platform_driver mtk_dsi_driver;
extern struct platform_driver mtk_ethdr_driver;
extern struct platform_driver mtk_mdp_rdma_driver;
extern struct platform_driver mtk_padding_driver;
#endif /* MTK_DRM_DRV_H */

Annotation

Implementation Notes