drivers/gpu/drm/msm/dsi/dsi_cfg.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/msm/dsi/dsi_cfg.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/msm/dsi/dsi_cfg.h
Extension
.h
Size
2543 bytes
Lines
76
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 msm_dsi_config {
	u32 io_offset;
	const struct regulator_bulk_data *regulator_data;
	int num_regulators;
	const char * const *bus_clk_names;
	const int num_bus_clks;
	const resource_size_t io_start[VARIANTS_MAX][DSI_MAX];
};

struct msm_dsi_host_cfg_ops {
	int (*link_clk_set_rate)(struct msm_dsi_host *msm_host);
	int (*link_clk_enable)(struct msm_dsi_host *msm_host);
	void (*link_clk_disable)(struct msm_dsi_host *msm_host);
	int (*clk_init_ver)(struct msm_dsi_host *msm_host);
	int (*tx_buf_alloc)(struct msm_dsi_host *msm_host, int size);
	void* (*tx_buf_get)(struct msm_dsi_host *msm_host);
	void (*tx_buf_put)(struct msm_dsi_host *msm_host);
	int (*dma_base_get)(struct msm_dsi_host *msm_host, uint64_t *iova);
	int (*calc_clk_rate)(struct msm_dsi_host *msm_host, bool is_bonded_dsi);
};

struct msm_dsi_cfg_handler {
	u32 major;
	u32 minor;
	const struct msm_dsi_config *cfg;
	const struct msm_dsi_host_cfg_ops *ops;
};

const struct msm_dsi_cfg_handler *msm_dsi_cfg_get(u32 major, u32 minor);

#endif /* __MSM_DSI_CFG_H__ */

Annotation

Implementation Notes